OSDN Git Service

初期インポート master
authoru6k.yu1 <u6k.yu1@gmail.com>
Sat, 30 Oct 2010 12:08:11 +0000 (21:08 +0900)
committeru6k.yu1 <u6k.yu1@gmail.com>
Sat, 30 Oct 2010 12:08:11 +0000 (21:08 +0900)
552 files changed:
doc/memo.xls [new file with mode: 0644]
weekly-report/.classpath [new file with mode: 0644]
weekly-report/.project [new file with mode: 0644]
weekly-report/.settings/com.google.appengine.eclipse.core.prefs [new file with mode: 0644]
weekly-report/.settings/com.google.gwt.eclipse.core.prefs [new file with mode: 0644]
weekly-report/src/META-INF/persistence.xml [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/MainEntryPoint.gwt.xml [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/EventTypeConst.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/MainEntryPoint.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/Account.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/AuthorityEnum.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/EntityStateEnum.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/LoginHistory.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/LoginInfo.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/ReportStateEnum.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/WeeklyReport.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/AccountDataException.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/LoginException.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/WeeklyReportDataException.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/WeeklyReportException.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/AbstractController.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/LoginController.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/MainController.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/ManagerController.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/LoginService.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/LoginServiceAsync.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/ManagerService.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/ManagerServiceAsync.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/WeeklyReportService.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/WeeklyReportServiceAsync.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/HeaderPanel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/IconLabel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/LoginPanel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/MenuPanel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportCreatePanel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportDetailPanel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportListPanel.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/AccountData.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/EMF.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/LoginHistoryData.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/WeeklyReportData.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/AccountLogic.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/LoginLogic.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/ManagerLogic.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/WeeklyReportLogic.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/LoginServiceImpl.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/ManagerServiceImpl.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/WeeklyReportServiceImpl.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/HttpsFilter.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/ServletContextListenerImpl.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/WeeklyReportPrintServlet.java [new file with mode: 0644]
weekly-report/src/jp/co/showa_sys_eng/weekly_report/util/StringUtil.java [new file with mode: 0644]
weekly-report/src/log4j.properties [new file with mode: 0644]
weekly-report/war/WEB-INF/appengine-web.xml [new file with mode: 0644]
weekly-report/war/WEB-INF/lib/gxt.jar [new file with mode: 0644]
weekly-report/war/WEB-INF/logging.properties [new file with mode: 0644]
weekly-report/war/WEB-INF/web.xml [new file with mode: 0644]
weekly-report/war/gxt/chart/open-flash-chart.swf [new file with mode: 0644]
weekly-report/war/gxt/css/gxt-all.css [new file with mode: 0644]
weekly-report/war/gxt/css/gxt-gray.css [new file with mode: 0644]
weekly-report/war/gxt/desktop/css/desktop.css [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/desktop.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/desktop3.jpg [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/gears.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/gears.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/grid.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/hatch.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/hd-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/hd-tb-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/icon_padlock.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/icons-bg.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/launcher-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/launcher-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/logout.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/logout.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/member.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/member.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/powered.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/powered.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/s.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/item-over.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/scroll-left.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/scroll-right.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-corners.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-right.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right-corners.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/startbutton-icon.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/startbutton.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-split-h.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/taskbutton.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/winbar-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/winbar-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/images/windows-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/desktop/wallpapers/desktop.jpg [new file with mode: 0644]
weekly-report/war/gxt/flash/swfobject.js [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/corners-blue.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/corners.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/l-blue.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/l.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/r-blue.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/r.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/tb-blue.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/box/tb.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/btn-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/btn.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/group-cs.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/group-lr.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/group-tb.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/s-arrow-b-noline.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/s-arrow-b.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/s-arrow-bo.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/s-arrow-noline.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/s-arrow-o.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/button/s-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/dd/drop-add.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/dd/drop-no.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/dd/drop-yes.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/editor/tb-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/checkbox.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/clear-trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/date-trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/error-tip-corners.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/exclamation.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/radio.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/search-trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/text-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/trigger-tpl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/form/trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/gradient-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/arrow-left-white.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/arrow-right-white.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/col-move-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/col-move-top.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/columns.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/dirty.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/done.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/drop-no.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/drop-yes.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/footer-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid-blue-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid-blue-split.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid-hrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid-loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid-split.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid-vista-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid3-hd-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid3-hrow-group.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid3-hrow-over.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid3-hrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid3-special-col-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/grid3-special-col-sel-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/group-by.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/group-expand-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hd-pop.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hmenu-asc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hmenu-desc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hmenu-lock.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hmenu-lock.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hmenu-unlock.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/hmenu-unlock.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/invalid_line.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/mso-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/nowait.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-first-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-first.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-last-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-last.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-next-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-next.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-prev-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/page-prev.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/pick-button.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/refresh.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/row-check-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/row-expand-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/row-over.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/row-sel.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/sort-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/sort_asc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/sort_desc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/grid/wait.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/collapse.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/expand.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/gradient-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/mini-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/mini-left.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/mini-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/mini-top.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/ns-collapse.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/ns-expand.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/panel-close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/panel-title-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/panel-title-light-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/stick.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/stuck.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/tab-close-on.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/layout/tab-close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/menu/checked.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/menu/group-checked.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/menu/item-over.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/menu/menu-parent.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/menu/menu.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/menu/unchecked.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/left-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/light-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/tool-sprite-tpl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/tool-sprites.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/tools-sprites-trans.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/top-bottom.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/white-corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/white-left-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/panel/white-top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/progress/progress-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/qtip/bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/qtip/close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/qtip/tip-anchor-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/qtip/tip-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/s.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shadow-c.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/shadow-lr.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/shadow.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/blue-loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/calendar.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/clear.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/glass-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/hd-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/large-loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/left-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/loading-balls.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/right-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/shared/warning.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/e-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/e-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/ne-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/ne-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/nw-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/nw-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/s-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/s-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/se-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/se-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/square.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/sw-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/sizer/sw-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/slider/slider-bg.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/slider/slider-thumb.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/slider/slider-v-bg.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/slider/slider-v-thumb.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/scroll-left.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/scroll-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/scroller-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-left-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-right-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-btm-left-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-btm-right-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-strip-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-strip-bg.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tab-strip-btm-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tabs/tabs-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/btn-arrow-light.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/btn-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/btn-over-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/gray-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/more.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/tb-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/tb-btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/tb-xl-btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/toolbar/tb-xl-sep.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/arrows.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/drop-add.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/drop-between.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/drop-no.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/drop-over.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/drop-under.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/drop-yes.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-end-minus-nl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-end-minus.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-end-plus-nl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-end-plus.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-end.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-line.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-minus-nl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-minus.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-plus-nl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow-plus.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/elbow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/folder-open.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/folder.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/leaf.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/tree/s.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/icon-error.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/icon-info.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/icon-question.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/icon-warning.gif [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/left-corners.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/left-right.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/right-corners.png [new file with mode: 0644]
weekly-report/war/gxt/images/default/window/top-bottom.png [new file with mode: 0644]
weekly-report/war/gxt/images/gray/button/btn-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/button/btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/button/btn.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/button/group-cs.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/button/group-lr.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/button/group-tb.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/gradient-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/left-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/light-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/tool-sprite-tpl.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/tool-sprites.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/tools-sprites-trans.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/top-bottom.png [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/white-corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/white-left-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/panel/white-top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/qtip/bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/qtip/close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/qtip/tip-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/s.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/scroll-left.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/scroll-right.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/scroller-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-left-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-right-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-btm-left-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-btm-right-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.png [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tab-strip-btm-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/tabs/tabs-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/btn-arrow-light.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/btn-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/btn-over-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/gray-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/tb-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/toolbar/tb-btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/icon-error.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/icon-info.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/icon-question.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/icon-warning.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/left-corners.png [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/left-corners.pspimage [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/left-right.png [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/right-corners.png [new file with mode: 0644]
weekly-report/war/gxt/images/gray/window/top-bottom.png [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/dd/insert-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/grid/row-editor-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/grid/row-editor-btns.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/bottom2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/columns.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/done.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/doubleleft2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/doubleright2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/down2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/folder-closed.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/folder-closed.png [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/folder.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/folder.png [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/grid-loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/hmenu-asc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/hmenu-desc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/left2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/nowait.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-first-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-first.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-last-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-last.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-next-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-next.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-prev-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/page-prev.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/paging.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/right2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/tabs.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/top2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/up2.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/icons/wait.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/info/corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/info/top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/menu/disabledcheck.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/clear.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/large-loading.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/select-18-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/select-19-bg-gray.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/select-19-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/select-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/shared/select-light.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/table/row-over.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/table/vs-column-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/table/vsort-asc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/table/vsort-desc.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/checked.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/joint-close.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/joint-open.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/notchecked.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/tree-table-special-col-sel.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/tree-table-special-col.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/vnode.gif [new file with mode: 0644]
weekly-report/war/gxt/images/gxt/tree/vnode_transparent.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/css/xtheme-slate.css [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/btn-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/btn.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/group-cs.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/group-lr.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/group-tb.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-b.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-bo.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-noline.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-o.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/editor/tb-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/checkbox.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/clear-trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/date-trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/radio.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/search-trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/trigger-tpl.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/form/trigger.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/gradient-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-left-white.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-right-white.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-top.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/footer-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-split.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid-hrow.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid-split.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid-vista-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hd-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow-over.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-sel-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/group-expand-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/mso-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-first-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-first.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-last-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-last.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-next-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-next.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev-disabled.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/refresh.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/row-over.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/row-sel.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/sort_asc.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/grid/sort_desc.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/checked.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/group-checked.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/item-over - Copy.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/item-over.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/menu-parent.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/menu.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/menu/unchecked.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/left-right.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/light-hd.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprite-tpl.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprites.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/tools-sprites-trans.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/white-corners-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/white-left-right.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/panel/white-top-bottom.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/progress/progress-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/qtip/bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/qtip/close.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/qtip/tip-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/s.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/shared/glass-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/shared/hd-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/shared/left-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/shared/right-btn.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/square.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle-dark.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/slider/slider-bg.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/slider/slider-thumb.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-bg.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-thumb.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-left.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-right.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/scroller-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-left-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-right-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-left-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-right-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-close.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-btm-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tabs/tabs-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow-light.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-over-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/gray-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/sep.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-bg.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-btn-sprite.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/tree/arrows.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/icon-error.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/icon-info.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/icon-question.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/icon-warning.gif [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/left-corners.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/left-right.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/right-corners.png [new file with mode: 0644]
weekly-report/war/gxt/themes/slate/images/slate/window/top-bottom.png [new file with mode: 0644]
weekly-report/war/index.css [new file with mode: 0644]
weekly-report/war/index.html [new file with mode: 0644]
weekly-report/war/resources/icon/accept.png [new file with mode: 0644]
weekly-report/war/resources/icon/bin.png [new file with mode: 0644]
weekly-report/war/resources/icon/cog.png [new file with mode: 0644]
weekly-report/war/resources/icon/exclamation.png [new file with mode: 0644]
weekly-report/war/resources/icon/folder.png [new file with mode: 0644]
weekly-report/war/resources/icon/help.png [new file with mode: 0644]
weekly-report/war/resources/icon/magnifier.png [new file with mode: 0644]
weekly-report/war/resources/icon/pencil.png [new file with mode: 0644]
weekly-report/war/resources/icon/stop.png [new file with mode: 0644]
weekly-report/war/resources/icon/user.png [new file with mode: 0644]

diff --git a/doc/memo.xls b/doc/memo.xls
new file mode 100644 (file)
index 0000000..6ab9909
Binary files /dev/null and b/doc/memo.xls differ
diff --git a/weekly-report/.classpath b/weekly-report/.classpath
new file mode 100644 (file)
index 0000000..f90a815
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" path="src"/>\r
+       <classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>\r
+       <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="lib" path="war/WEB-INF/lib/gxt.jar"/>\r
+       <classpathentry kind="output" path="war/WEB-INF/classes"/>\r
+</classpath>\r
diff --git a/weekly-report/.project b/weekly-report/.project
new file mode 100644 (file)
index 0000000..f099885
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>weekly-report</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.gwt.eclipse.core.gwtProjectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.appengine.eclipse.core.enhancerbuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.appengine.eclipse.core.projectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>com.google.appengine.eclipse.core.gaeNature</nature>\r
+               <nature>com.google.gwt.eclipse.core.gwtNature</nature>\r
+               <nature>com.google.gdt.eclipse.core.webAppNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/weekly-report/.settings/com.google.appengine.eclipse.core.prefs b/weekly-report/.settings/com.google.appengine.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..bb3e278
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Nov 14 23:47:22 JST 2009\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.6.jar|appengine-api-labs-1.2.6.jar|datanucleus-appengine-1.0.3.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar\r
diff --git a/weekly-report/.settings/com.google.gwt.eclipse.core.prefs b/weekly-report/.settings/com.google.gwt.eclipse.core.prefs
new file mode 100644 (file)
index 0000000..993e3a7
--- /dev/null
@@ -0,0 +1,4 @@
+#Sun Nov 15 00:07:02 JST 2009\r
+eclipse.preferences.version=1\r
+filesCopiedToWebInfLib=gwt-servlet.jar\r
+gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBW11dPjwvZXh0cmEtYXJncz48dm0tYXJncz48IVtDREFUQVstWG14NTEybV1dPjwvdm0tYXJncz48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=\r
diff --git a/weekly-report/src/META-INF/persistence.xml b/weekly-report/src/META-INF/persistence.xml
new file mode 100644 (file)
index 0000000..7cd258c
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>\r
+<persistence\r
+    xmlns="http://java.sun.com/xml/ns/persistence"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"\r
+    version="1.0">\r
+\r
+    <persistence-unit\r
+        name="transactions-optional">\r
+        <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider>\r
+        <properties>\r
+            <property\r
+                name="datanucleus.NontransactionalRead"\r
+                value="true" />\r
+            <property\r
+                name="datanucleus.NontransactionalWrite"\r
+                value="true" />\r
+            <property\r
+                name="datanucleus.ConnectionURL"\r
+                value="appengine" />\r
+        </properties>\r
+    </persistence-unit>\r
+\r
+</persistence>\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/MainEntryPoint.gwt.xml b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/MainEntryPoint.gwt.xml
new file mode 100644 (file)
index 0000000..6f66962
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.1/distro-source/core/src/gwt-module.dtd">\r
+<module rename-to="index">\r
+    <inherits name="com.google.gwt.user.User" />\r
+    <inherits name="com.extjs.gxt.ui.GXT" />\r
+    <entry-point class="jp.co.showa_sys_eng.weekly_report.gwt.client.MainEntryPoint" />\r
+</module>\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/EventTypeConst.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/EventTypeConst.java
new file mode 100644 (file)
index 0000000..b62f98b
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client;\r
+\r
+import com.extjs.gxt.ui.client.event.EventType;\r
+\r
+public final class EventTypeConst {\r
+\r
+    public static final EventType INITIALIZE = new EventType();\r
+\r
+    public static final EventType ERROR = new EventType();\r
+\r
+    public static final EventType LOGIN = new EventType();\r
+\r
+    public static final EventType LOGOUT = new EventType();\r
+\r
+    public static final EventType SEARCH = new EventType();\r
+\r
+    public static final EventType CREATE = new EventType();\r
+\r
+    public static final EventType CREATE_BEGIN = new EventType();\r
+\r
+    public static final EventType CREATE_END = new EventType();\r
+\r
+    public static final EventType EDIT = new EventType();\r
+\r
+    public static final EventType EDIT_BEGIN = new EventType();\r
+\r
+    public static final EventType EDIT_END = new EventType();\r
+\r
+    public static final EventType DETAIL = new EventType();\r
+\r
+    public static final EventType BACK = new EventType();\r
+\r
+    private EventTypeConst() {\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/MainEntryPoint.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/MainEntryPoint.java
new file mode 100644 (file)
index 0000000..28fc0bb
--- /dev/null
@@ -0,0 +1,30 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.mvc.LoginController;\r
+\r
+import com.extjs.gxt.ui.client.GXT;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.util.Theme;\r
+import com.google.gwt.core.client.EntryPoint;\r
+\r
+public class MainEntryPoint implements EntryPoint {\r
+\r
+    @Override\r
+    public void onModuleLoad() {\r
+        // FIXME コメントを外すと、HTTPSにリダイレクトする。\r
+        // if ("http:".equals(Location.getProtocol())) {\r
+        // Location.replace("https://" + Location.getHost() + Location.getPath());\r
+        //\r
+        // return;\r
+        // }\r
+\r
+        GXT.setDefaultTheme(Theme.GRAY, true);\r
+\r
+        Dispatcher dispatcher = Dispatcher.get();\r
+        dispatcher.addController(new LoginController());\r
+\r
+        dispatcher.dispatch(EventTypeConst.INITIALIZE);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/Account.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/Account.java
new file mode 100644 (file)
index 0000000..5628733
--- /dev/null
@@ -0,0 +1,117 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+import java.io.Serializable;\r
+import java.util.Date;\r
+\r
+\r
+@SuppressWarnings("serial")\r
+public class Account implements Serializable {\r
+\r
+    private Long entityId;\r
+\r
+    private long entityVersion;\r
+\r
+    private Date entityCreateDatetime;\r
+\r
+    private EntityStateEnum entityState;\r
+\r
+    private String accountId;\r
+\r
+    private String accountName;\r
+\r
+    private String passwordHash;\r
+\r
+    private String realName;\r
+\r
+    private AuthorityEnum authority;\r
+\r
+    public Account() {\r
+    }\r
+\r
+    public Account(Long entityId, long entityVersion, Date entityCreateDatetime, EntityStateEnum entityState, String accountId, String accountName, String passwordHash, String realName, AuthorityEnum authority) {\r
+        super();\r
+        this.entityId = entityId;\r
+        this.entityVersion = entityVersion;\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+        this.entityState = entityState;\r
+        this.accountId = accountId;\r
+        this.accountName = accountName;\r
+        this.passwordHash = passwordHash;\r
+        this.realName = realName;\r
+        this.authority = authority;\r
+    }\r
+\r
+    public Long getEntityId() {\r
+        return this.entityId;\r
+    }\r
+\r
+    public void setEntityId(Long entityId) {\r
+        this.entityId = entityId;\r
+    }\r
+\r
+    public long getEntityVersion() {\r
+        return this.entityVersion;\r
+    }\r
+\r
+    public void setEntityVersion(long entityVersion) {\r
+        this.entityVersion = entityVersion;\r
+    }\r
+\r
+    public Date getEntityCreateDatetime() {\r
+        return this.entityCreateDatetime;\r
+    }\r
+\r
+    public void setEntityCreateDatetime(Date entityCreateDatetime) {\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+    }\r
+\r
+    public EntityStateEnum getEntityState() {\r
+        return this.entityState;\r
+    }\r
+\r
+    public void setEntityState(EntityStateEnum entityState) {\r
+        this.entityState = entityState;\r
+    }\r
+\r
+    public String getAccountId() {\r
+        return this.accountId;\r
+    }\r
+\r
+    public void setAccountId(String accountId) {\r
+        this.accountId = accountId;\r
+    }\r
+\r
+    public String getAccountName() {\r
+        return this.accountName;\r
+    }\r
+\r
+    public void setAccountName(String accountName) {\r
+        this.accountName = accountName;\r
+    }\r
+\r
+    public String getPasswordHash() {\r
+        return this.passwordHash;\r
+    }\r
+\r
+    public void setPasswordHash(String passwordHash) {\r
+        this.passwordHash = passwordHash;\r
+    }\r
+\r
+    public String getRealName() {\r
+        return this.realName;\r
+    }\r
+\r
+    public void setRealName(String realName) {\r
+        this.realName = realName;\r
+    }\r
+\r
+    public AuthorityEnum getAuthority() {\r
+        return this.authority;\r
+    }\r
+\r
+    public void setAuthority(AuthorityEnum authority) {\r
+        this.authority = authority;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/AuthorityEnum.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/AuthorityEnum.java
new file mode 100644 (file)
index 0000000..6fc16b4
--- /dev/null
@@ -0,0 +1,41 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+public enum AuthorityEnum {\r
+\r
+    ADMIN(1, "システム管理者"), // システム管理者\r
+\r
+    STAFF(2, "部員"), // 一般社員(部員)\r
+\r
+    MANAGER(3, "部長"), // 部長(管理職)\r
+\r
+    ;\r
+\r
+    private long value;\r
+\r
+    private String name;\r
+\r
+    private AuthorityEnum(long value, String name) {\r
+        this.value = value;\r
+        this.name = name;\r
+    }\r
+\r
+    public long getValue() {\r
+        return this.value;\r
+    }\r
+\r
+    public String getName() {\r
+        return this.name;\r
+    }\r
+\r
+    public static AuthorityEnum valueOf(long value) {\r
+        for (AuthorityEnum v : AuthorityEnum.values()) {\r
+            if (v.value == value) {\r
+                return v;\r
+            }\r
+        }\r
+\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/EntityStateEnum.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/EntityStateEnum.java
new file mode 100644 (file)
index 0000000..f8a74e5
--- /dev/null
@@ -0,0 +1,15 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+public enum EntityStateEnum {\r
+\r
+    // 最新\r
+    LATEST,\r
+\r
+    // 古い\r
+    OLD,\r
+\r
+    // 削除\r
+    DELETE,\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/LoginHistory.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/LoginHistory.java
new file mode 100644 (file)
index 0000000..ca12813
--- /dev/null
@@ -0,0 +1,84 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+import java.io.Serializable;\r
+import java.util.Date;\r
+\r
+\r
+@SuppressWarnings("serial")\r
+public class LoginHistory implements Serializable {\r
+\r
+    private Long entityId;\r
+\r
+    private long entityVersion;\r
+\r
+    private Date entityCreateDatetime;\r
+\r
+    private EntityStateEnum entityState;\r
+\r
+    private String loginHistoryId;\r
+\r
+    private String accountId;\r
+\r
+    public LoginHistory() {\r
+    }\r
+\r
+    public LoginHistory(Long entityId, long entityVersion, Date entityCreateDatetime, EntityStateEnum entityState, String loginHistoryId, String accountId) {\r
+        super();\r
+        this.entityId = entityId;\r
+        this.entityVersion = entityVersion;\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+        this.entityState = entityState;\r
+        this.loginHistoryId = loginHistoryId;\r
+        this.accountId = accountId;\r
+    }\r
+\r
+    public Long getEntityId() {\r
+        return this.entityId;\r
+    }\r
+\r
+    public void setEntityId(Long entityId) {\r
+        this.entityId = entityId;\r
+    }\r
+\r
+    public long getEntityVersion() {\r
+        return this.entityVersion;\r
+    }\r
+\r
+    public void setEntityVersion(long entityVersion) {\r
+        this.entityVersion = entityVersion;\r
+    }\r
+\r
+    public Date getEntityCreateDatetime() {\r
+        return this.entityCreateDatetime;\r
+    }\r
+\r
+    public void setEntityCreateDatetime(Date entityCreateDatetime) {\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+    }\r
+\r
+    public EntityStateEnum getEntityState() {\r
+        return this.entityState;\r
+    }\r
+\r
+    public void setEntityState(EntityStateEnum entityState) {\r
+        this.entityState = entityState;\r
+    }\r
+\r
+    public String getLoginHistoryId() {\r
+        return this.loginHistoryId;\r
+    }\r
+\r
+    public void setLoginHistoryId(String loginHistoryId) {\r
+        this.loginHistoryId = loginHistoryId;\r
+    }\r
+\r
+    public String getAccountId() {\r
+        return this.accountId;\r
+    }\r
+\r
+    public void setAccountId(String accountId) {\r
+        this.accountId = accountId;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/LoginInfo.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/LoginInfo.java
new file mode 100644 (file)
index 0000000..58a2f3a
--- /dev/null
@@ -0,0 +1,38 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+import java.io.Serializable;\r
+\r
+@SuppressWarnings("serial")\r
+public class LoginInfo implements Serializable {\r
+\r
+    private Account account;\r
+\r
+    private LoginHistory loginHistory;\r
+\r
+    public LoginInfo() {\r
+    }\r
+\r
+    public LoginInfo(Account account, LoginHistory loginHistory) {\r
+        super();\r
+        this.account = account;\r
+        this.loginHistory = loginHistory;\r
+    }\r
+\r
+    public Account getAccount() {\r
+        return this.account;\r
+    }\r
+\r
+    public void setAccount(Account account) {\r
+        this.account = account;\r
+    }\r
+\r
+    public LoginHistory getLoginHistory() {\r
+        return this.loginHistory;\r
+    }\r
+\r
+    public void setLoginHistory(LoginHistory loginHistory) {\r
+        this.loginHistory = loginHistory;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/ReportStateEnum.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/ReportStateEnum.java
new file mode 100644 (file)
index 0000000..32fcbff
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+public enum ReportStateEnum {\r
+\r
+    CREATE(1, "作成"), // 作成\r
+\r
+    POST(2, "提出"), // 提出\r
+\r
+    RETURN(3, "返却"), // 返却\r
+\r
+    DELETE(4, "削除"), // 削除\r
+\r
+    ;\r
+\r
+    private long value;\r
+\r
+    private String name;\r
+\r
+    private ReportStateEnum(long value, String name) {\r
+        this.value = value;\r
+        this.name = name;\r
+    }\r
+\r
+    public long getValue() {\r
+        return this.value;\r
+    }\r
+\r
+    public String getName() {\r
+        return this.name;\r
+    }\r
+\r
+    public static ReportStateEnum valueOf(long value) {\r
+        for (ReportStateEnum v : ReportStateEnum.values()) {\r
+            if (v.value == value) {\r
+                return v;\r
+            }\r
+        }\r
+\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/WeeklyReport.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/data/WeeklyReport.java
new file mode 100644 (file)
index 0000000..16d51ff
--- /dev/null
@@ -0,0 +1,117 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.data;\r
+\r
+import java.io.Serializable;\r
+import java.util.Date;\r
+\r
+\r
+@SuppressWarnings("serial")\r
+public class WeeklyReport implements Serializable {\r
+\r
+    private Long entityId;\r
+\r
+    private long entityVersion;\r
+\r
+    private Date entityCreateDatetime;\r
+\r
+    private EntityStateEnum entityState;\r
+\r
+    private String weeklyReportId;\r
+\r
+    private String authorId;\r
+\r
+    private Date postDate;\r
+\r
+    private String content;\r
+\r
+    private ReportStateEnum reportState;\r
+\r
+    public WeeklyReport() {\r
+    }\r
+\r
+    public WeeklyReport(Long entityId, long entityVersion, Date entityCreateDatetime, EntityStateEnum entityState, String weeklyReportId, String authorId, Date postDate, String content, ReportStateEnum reportState) {\r
+        super();\r
+        this.entityId = entityId;\r
+        this.entityVersion = entityVersion;\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+        this.entityState = entityState;\r
+        this.weeklyReportId = weeklyReportId;\r
+        this.authorId = authorId;\r
+        this.postDate = postDate;\r
+        this.content = content;\r
+        this.reportState = reportState;\r
+    }\r
+\r
+    public Long getEntityId() {\r
+        return this.entityId;\r
+    }\r
+\r
+    public void setEntityId(Long entityId) {\r
+        this.entityId = entityId;\r
+    }\r
+\r
+    public long getEntityVersion() {\r
+        return this.entityVersion;\r
+    }\r
+\r
+    public void setEntityVersion(long entityVersion) {\r
+        this.entityVersion = entityVersion;\r
+    }\r
+\r
+    public Date getEntityCreateDatetime() {\r
+        return this.entityCreateDatetime;\r
+    }\r
+\r
+    public void setEntityCreateDatetime(Date entityCreateDatetime) {\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+    }\r
+\r
+    public EntityStateEnum getEntityState() {\r
+        return this.entityState;\r
+    }\r
+\r
+    public void setEntityState(EntityStateEnum entityState) {\r
+        this.entityState = entityState;\r
+    }\r
+\r
+    public String getWeeklyReportId() {\r
+        return this.weeklyReportId;\r
+    }\r
+\r
+    public void setWeeklyReportId(String weeklyReportId) {\r
+        this.weeklyReportId = weeklyReportId;\r
+    }\r
+\r
+    public String getAuthorId() {\r
+        return this.authorId;\r
+    }\r
+\r
+    public void setAuthorId(String authorId) {\r
+        this.authorId = authorId;\r
+    }\r
+\r
+    public Date getPostDate() {\r
+        return this.postDate;\r
+    }\r
+\r
+    public void setPostDate(Date postDate) {\r
+        this.postDate = postDate;\r
+    }\r
+\r
+    public String getContent() {\r
+        return this.content;\r
+    }\r
+\r
+    public void setContent(String content) {\r
+        this.content = content;\r
+    }\r
+\r
+    public ReportStateEnum getReportState() {\r
+        return this.reportState;\r
+    }\r
+\r
+    public void setReportState(ReportStateEnum reportState) {\r
+        this.reportState = reportState;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/AccountDataException.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/AccountDataException.java
new file mode 100644 (file)
index 0000000..87a752a
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.exception;\r
+\r
+@SuppressWarnings("serial")\r
+public class AccountDataException extends WeeklyReportException {\r
+\r
+    public AccountDataException() {\r
+        super();\r
+    }\r
+\r
+    public AccountDataException(String message, Throwable cause) {\r
+        super(message, cause);\r
+    }\r
+\r
+    public AccountDataException(String message) {\r
+        super(message);\r
+    }\r
+\r
+    public AccountDataException(Throwable cause) {\r
+        super(cause);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/LoginException.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/LoginException.java
new file mode 100644 (file)
index 0000000..9429d5d
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.exception;\r
+\r
+@SuppressWarnings("serial")\r
+public class LoginException extends WeeklyReportException {\r
+\r
+    public LoginException() {\r
+        super();\r
+    }\r
+\r
+    public LoginException(String message, Throwable cause) {\r
+        super(message, cause);\r
+    }\r
+\r
+    public LoginException(String message) {\r
+        super(message);\r
+    }\r
+\r
+    public LoginException(Throwable cause) {\r
+        super(cause);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/WeeklyReportDataException.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/WeeklyReportDataException.java
new file mode 100644 (file)
index 0000000..ed722c9
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.exception;\r
+\r
+@SuppressWarnings("serial")\r
+public class WeeklyReportDataException extends WeeklyReportException {\r
+\r
+    public WeeklyReportDataException() {\r
+        super();\r
+    }\r
+\r
+    public WeeklyReportDataException(String message, Throwable cause) {\r
+        super(message, cause);\r
+    }\r
+\r
+    public WeeklyReportDataException(String message) {\r
+        super(message);\r
+    }\r
+\r
+    public WeeklyReportDataException(Throwable cause) {\r
+        super(cause);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/WeeklyReportException.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/exception/WeeklyReportException.java
new file mode 100644 (file)
index 0000000..443d476
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.exception;\r
+\r
+@SuppressWarnings("serial")\r
+public class WeeklyReportException extends Exception {\r
+\r
+    public WeeklyReportException() {\r
+        super();\r
+    }\r
+\r
+    public WeeklyReportException(String message, Throwable cause) {\r
+        super(message, cause);\r
+    }\r
+\r
+    public WeeklyReportException(String message) {\r
+        super(message);\r
+    }\r
+\r
+    public WeeklyReportException(Throwable cause) {\r
+        super(cause);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/AbstractController.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/AbstractController.java
new file mode 100644 (file)
index 0000000..ce35e39
--- /dev/null
@@ -0,0 +1,43 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.mvc;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+\r
+import com.extjs.gxt.ui.client.mvc.AppEvent;\r
+import com.extjs.gxt.ui.client.mvc.Controller;\r
+import com.extjs.gxt.ui.client.widget.MessageBox;\r
+import com.google.gwt.user.client.Window.Location;\r
+\r
+public abstract class AbstractController extends Controller {\r
+\r
+    protected AbstractController() {\r
+        super.registerEventTypes(EventTypeConst.ERROR);\r
+        super.registerEventTypes(EventTypeConst.LOGOUT);\r
+    }\r
+\r
+    @Override\r
+    public void handleEvent(AppEvent event) {\r
+        if (event.getType() == EventTypeConst.ERROR) {\r
+            // Throwable caught = event.getData(); TODO 詳細なエラー情報を表示する。どうにかして。\r
+\r
+            MessageBox mb = new MessageBox();\r
+            mb.setIcon(MessageBox.ERROR);\r
+            mb.setMessage("エラーが発生しました。<br>システムが正常に動作していない可能性があります。<br>システム管理者にお知らせください。");\r
+            mb.setTitle("エラー|週報業務");\r
+            mb.show();\r
+\r
+        } else if (event.getType() == EventTypeConst.LOGOUT) {\r
+            String url = Location.getProtocol() + "//" + Location.getHost() + Location.getPath();\r
+\r
+            Location.assign(url);\r
+\r
+        } else {\r
+            MessageBox mb = new MessageBox();\r
+            mb.setIcon(MessageBox.ERROR);\r
+            mb.setMessage("認識できないイベントです。<br>システムの不具合です。<br><br>event code: " + event.getType().getEventCode());\r
+            mb.setTitle("システム不具合|週報業務");\r
+            mb.show();\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/LoginController.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/LoginController.java
new file mode 100644 (file)
index 0000000..17d1fa1
--- /dev/null
@@ -0,0 +1,64 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.mvc;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.Account;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.AuthorityEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.widget.LoginPanel;\r
+\r
+import com.extjs.gxt.ui.client.Registry;\r
+import com.extjs.gxt.ui.client.mvc.AppEvent;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.widget.Viewport;\r
+import com.extjs.gxt.ui.client.widget.layout.CenterLayout;\r
+import com.google.gwt.user.client.ui.RootPanel;\r
+\r
+public class LoginController extends AbstractController {\r
+\r
+    private Viewport viewport;\r
+\r
+    public LoginController() {\r
+        super();\r
+\r
+        super.registerEventTypes(EventTypeConst.INITIALIZE);\r
+        super.registerEventTypes(EventTypeConst.LOGIN);\r
+\r
+        this.viewport = new Viewport();\r
+        this.viewport.setStyleAttribute("background-color", "white");\r
+\r
+        RootPanel.get().add(this.viewport);\r
+    }\r
+\r
+    @Override\r
+    public void handleEvent(AppEvent event) {\r
+        if (event.getType() == EventTypeConst.INITIALIZE) {\r
+            this.viewport.setLayout(new CenterLayout());\r
+            this.viewport.add(new LoginPanel());\r
+\r
+            this.viewport.layout();\r
+\r
+        } else if (event.getType() == EventTypeConst.LOGIN) {\r
+            LoginInfo loginInfo = Registry.get("loginInfo");\r
+            Account account = loginInfo.getAccount();\r
+\r
+            if (account.getAuthority() != AuthorityEnum.ADMIN) {\r
+                Dispatcher dispatcher = Dispatcher.get();\r
+                dispatcher.removeController(this);\r
+                dispatcher.addController(new MainController(this.viewport));\r
+\r
+                dispatcher.dispatch(EventTypeConst.LOGIN);\r
+            } else {\r
+                Dispatcher dispatcher = Dispatcher.get();\r
+                dispatcher.removeController(this);\r
+                dispatcher.addController(new ManagerController(this.viewport));\r
+\r
+                dispatcher.dispatch(EventTypeConst.LOGIN);\r
+            }\r
+\r
+        } else {\r
+            super.handleEvent(event);\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/MainController.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/MainController.java
new file mode 100644 (file)
index 0000000..e2468bd
--- /dev/null
@@ -0,0 +1,166 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.mvc;\r
+\r
+import java.util.Stack;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.widget.HeaderPanel;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.widget.MenuPanel;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.widget.WeeklyReportCreatePanel;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.widget.WeeklyReportDetailPanel;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.widget.WeeklyReportListPanel;\r
+\r
+import com.extjs.gxt.ui.client.Style.LayoutRegion;\r
+import com.extjs.gxt.ui.client.mvc.AppEvent;\r
+import com.extjs.gxt.ui.client.util.Margins;\r
+import com.extjs.gxt.ui.client.widget.Viewport;\r
+import com.extjs.gxt.ui.client.widget.layout.BorderLayout;\r
+import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;\r
+import com.google.gwt.user.client.ui.Widget;\r
+\r
+public class MainController extends AbstractController {\r
+\r
+    private Viewport viewport;\r
+\r
+    private Widget headerWidget;\r
+\r
+    private Widget menuWidget;\r
+\r
+    private Widget contentWidget;\r
+\r
+    private Stack<Widget> contentWidgetStack;\r
+\r
+    public MainController(Viewport viewport) {\r
+        super();\r
+\r
+        this.viewport = viewport;\r
+\r
+        this.contentWidgetStack = new Stack<Widget>();\r
+\r
+        super.registerEventTypes(EventTypeConst.LOGIN);\r
+        super.registerEventTypes(EventTypeConst.SEARCH);\r
+        super.registerEventTypes(EventTypeConst.CREATE);\r
+        super.registerEventTypes(EventTypeConst.DETAIL);\r
+        super.registerEventTypes(EventTypeConst.EDIT);\r
+        super.registerEventTypes(EventTypeConst.BACK);\r
+    }\r
+\r
+    @Override\r
+    public void handleEvent(AppEvent event) {\r
+        if (event.getType() == EventTypeConst.LOGIN) {\r
+            this.viewport.removeAll();\r
+\r
+            this.viewport.setLayout(new BorderLayout());\r
+\r
+            // ヘッダー\r
+            this.headerWidget = new HeaderPanel();\r
+\r
+            BorderLayoutData layoutData = new BorderLayoutData(LayoutRegion.NORTH);\r
+            layoutData.setMargins(new Margins(5, 5, 0, 5));\r
+            layoutData.setSize(30);\r
+\r
+            this.viewport.add(this.headerWidget, layoutData);\r
+\r
+            // メニュー\r
+            this.menuWidget = new MenuPanel();\r
+\r
+            layoutData = new BorderLayoutData(LayoutRegion.WEST);\r
+            layoutData.setMargins(new Margins(5, 0, 5, 5));\r
+            layoutData.setSize(200);\r
+            layoutData.setMinSize(50);\r
+            layoutData.setMaxSize(500);\r
+            layoutData.setSplit(true);\r
+            layoutData.setCollapsible(true);\r
+\r
+            this.viewport.add(this.menuWidget, layoutData);\r
+\r
+            // コンテンツ\r
+            this.contentWidget = new WeeklyReportListPanel();\r
+\r
+            layoutData = new BorderLayoutData(LayoutRegion.CENTER);\r
+            layoutData.setMargins(new Margins(5));\r
+\r
+            this.viewport.add(this.contentWidget, layoutData);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else if (event.getType() == EventTypeConst.SEARCH) {\r
+            // コンテンツ削除\r
+            this.viewport.remove(this.contentWidget);\r
+\r
+            // リストパネル\r
+            this.contentWidget = new WeeklyReportListPanel();\r
+\r
+            BorderLayoutData layoutData = new BorderLayoutData(LayoutRegion.CENTER);\r
+            layoutData.setMargins(new Margins(5));\r
+\r
+            this.viewport.add(this.contentWidget, layoutData);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else if (event.getType() == EventTypeConst.CREATE) {\r
+            // コンテンツ削除\r
+            this.viewport.remove(this.contentWidget);\r
+\r
+            // 作成パネル\r
+            this.contentWidget = new WeeklyReportCreatePanel(null);\r
+\r
+            BorderLayoutData layoutData = new BorderLayoutData(LayoutRegion.CENTER);\r
+            layoutData.setMargins(new Margins(5));\r
+\r
+            this.viewport.add(this.contentWidget, layoutData);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else if (event.getType() == EventTypeConst.DETAIL) {\r
+            // コンテンツ削除\r
+            this.contentWidgetStack.push(this.contentWidget);\r
+            this.viewport.remove(this.contentWidget);\r
+\r
+            // 詳細パネル\r
+            String weeklyReportId = event.getData();\r
+            this.contentWidget = new WeeklyReportDetailPanel(weeklyReportId);\r
+\r
+            BorderLayoutData layoutData = new BorderLayoutData(LayoutRegion.CENTER);\r
+            layoutData.setMargins(new Margins(5));\r
+\r
+            this.viewport.add(this.contentWidget, layoutData);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else if (event.getType() == EventTypeConst.EDIT) {\r
+            // コンテンツ削除\r
+            this.contentWidgetStack.push(this.contentWidget);\r
+            this.viewport.remove(this.contentWidget);\r
+\r
+            // 編集パネル\r
+            String weeklyReportId = event.getData();\r
+            this.contentWidget = new WeeklyReportCreatePanel(weeklyReportId);\r
+\r
+            BorderLayoutData layoutData = new BorderLayoutData(LayoutRegion.CENTER);\r
+            layoutData.setMargins(new Margins(5));\r
+\r
+            this.viewport.add(this.contentWidget, layoutData);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else if (event.getType() == EventTypeConst.BACK) {\r
+            // コンテンツ削除\r
+            this.viewport.remove(this.contentWidget);\r
+\r
+            // コンテンツ回復\r
+            this.contentWidget = this.contentWidgetStack.pop();\r
+\r
+            BorderLayoutData layoutData = new BorderLayoutData(LayoutRegion.CENTER);\r
+            layoutData.setMargins(new Margins(5));\r
+\r
+            this.viewport.add(this.contentWidget, layoutData);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else {\r
+            super.handleEvent(event);\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/ManagerController.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/mvc/ManagerController.java
new file mode 100644 (file)
index 0000000..5bd6189
--- /dev/null
@@ -0,0 +1,80 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.mvc;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.ManagerService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.ManagerServiceAsync;\r
+\r
+import com.extjs.gxt.ui.client.event.ButtonEvent;\r
+import com.extjs.gxt.ui.client.event.SelectionListener;\r
+import com.extjs.gxt.ui.client.mvc.AppEvent;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.widget.MessageBox;\r
+import com.extjs.gxt.ui.client.widget.Viewport;\r
+import com.extjs.gxt.ui.client.widget.button.Button;\r
+import com.extjs.gxt.ui.client.widget.layout.FlowLayout;\r
+import com.google.gwt.core.client.GWT;\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public class ManagerController extends AbstractController {\r
+\r
+    private Viewport viewport;\r
+\r
+    public ManagerController(Viewport viewport) {\r
+        super();\r
+\r
+        this.viewport = viewport;\r
+\r
+        super.registerEventTypes(EventTypeConst.LOGIN);\r
+    }\r
+\r
+    @Override\r
+    public void handleEvent(AppEvent event) {\r
+        if (event.getType() == EventTypeConst.LOGIN) {\r
+            this.viewport.removeAll();\r
+\r
+            this.viewport.setLayout(new FlowLayout());\r
+\r
+            Button initButton = new Button("データ初期化");\r
+            initButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+                @Override\r
+                public void componentSelected(ButtonEvent ce) {\r
+                    ManagerServiceAsync sa = GWT.create(ManagerService.class);\r
+                    sa.initialize(new AsyncCallback<Void>() {\r
+\r
+                        @Override\r
+                        public void onSuccess(Void result) {\r
+                            MessageBox.info("データ初期化", "完了。", null);\r
+                        }\r
+\r
+                        @Override\r
+                        public void onFailure(Throwable caught) {\r
+                            Dispatcher.get().dispatch(EventTypeConst.ERROR);\r
+                        }\r
+\r
+                    });\r
+                }\r
+\r
+            });\r
+            this.viewport.add(initButton);\r
+\r
+            Button logoutButton = new Button("ログアウト");\r
+            logoutButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+                @Override\r
+                public void componentSelected(ButtonEvent ce) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.LOGOUT);\r
+                }\r
+\r
+            });\r
+            this.viewport.add(logoutButton);\r
+\r
+            this.viewport.layout();\r
+\r
+        } else {\r
+            super.handleEvent(event);\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/LoginService.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/LoginService.java
new file mode 100644 (file)
index 0000000..250c2cf
--- /dev/null
@@ -0,0 +1,15 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.service;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.LoginException;\r
+\r
+import com.google.gwt.user.client.rpc.RemoteService;\r
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;\r
+\r
+@RemoteServiceRelativePath("login")\r
+public interface LoginService extends RemoteService {\r
+\r
+    LoginInfo login(String accountName, String password) throws LoginException;\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/LoginServiceAsync.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/LoginServiceAsync.java
new file mode 100644 (file)
index 0000000..2430f71
--- /dev/null
@@ -0,0 +1,12 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.service;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public interface LoginServiceAsync {\r
+\r
+    void login(String accountName, String password, AsyncCallback<LoginInfo> callback);\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/ManagerService.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/ManagerService.java
new file mode 100644 (file)
index 0000000..e585cfb
--- /dev/null
@@ -0,0 +1,14 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.service;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportException;\r
+\r
+import com.google.gwt.user.client.rpc.RemoteService;\r
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;\r
+\r
+@RemoteServiceRelativePath("manager")\r
+public interface ManagerService extends RemoteService {\r
+\r
+    void initialize() throws WeeklyReportException;\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/ManagerServiceAsync.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/ManagerServiceAsync.java
new file mode 100644 (file)
index 0000000..a081b97
--- /dev/null
@@ -0,0 +1,10 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.service;\r
+\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public interface ManagerServiceAsync {\r
+\r
+    void initialize(AsyncCallback<Void> callback);\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/WeeklyReportService.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/WeeklyReportService.java
new file mode 100644 (file)
index 0000000..728cf4f
--- /dev/null
@@ -0,0 +1,25 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.service;\r
+\r
+import java.util.List;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportDataException;\r
+\r
+import com.google.gwt.user.client.rpc.RemoteService;\r
+import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;\r
+\r
+@RemoteServiceRelativePath("weekly-report")\r
+public interface WeeklyReportService extends RemoteService {\r
+\r
+    List<WeeklyReport> findAll();\r
+\r
+    WeeklyReport findByWeeklyReportId(String weeklyReportId) throws WeeklyReportDataException;\r
+\r
+    String create(WeeklyReport weeklyReport) throws WeeklyReportDataException;\r
+\r
+    void update(WeeklyReport weeklyReport) throws WeeklyReportDataException;\r
+\r
+    void update(List<WeeklyReport> weeklyReportList) throws WeeklyReportDataException;\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/WeeklyReportServiceAsync.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/service/WeeklyReportServiceAsync.java
new file mode 100644 (file)
index 0000000..88cccec
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.service;\r
+\r
+import java.util.List;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public interface WeeklyReportServiceAsync {\r
+\r
+    void findAll(AsyncCallback<List<WeeklyReport>> callback);\r
+\r
+    void findByWeeklyReportId(String weeklyReportId, AsyncCallback<WeeklyReport> callback);\r
+\r
+    void create(WeeklyReport weeklyReport, AsyncCallback<String> callback);\r
+\r
+    void update(WeeklyReport weeklyReport, AsyncCallback<Void> callback);\r
+\r
+    void update(List<WeeklyReport> weeklyReportList, AsyncCallback<Void> callback);\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/HeaderPanel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/HeaderPanel.java
new file mode 100644 (file)
index 0000000..aca0b56
--- /dev/null
@@ -0,0 +1,163 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.Account;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+\r
+import com.extjs.gxt.ui.client.Registry;\r
+import com.extjs.gxt.ui.client.Style.HorizontalAlignment;\r
+import com.extjs.gxt.ui.client.Style.VerticalAlignment;\r
+import com.extjs.gxt.ui.client.event.ButtonEvent;\r
+import com.extjs.gxt.ui.client.event.SelectionListener;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.widget.LayoutContainer;\r
+import com.extjs.gxt.ui.client.widget.MessageBox;\r
+import com.extjs.gxt.ui.client.widget.Text;\r
+import com.extjs.gxt.ui.client.widget.button.Button;\r
+import com.extjs.gxt.ui.client.widget.button.SplitButton;\r
+import com.extjs.gxt.ui.client.widget.form.LabelField;\r
+import com.extjs.gxt.ui.client.widget.form.TextField;\r
+import com.extjs.gxt.ui.client.widget.layout.TableData;\r
+import com.extjs.gxt.ui.client.widget.layout.TableLayout;\r
+import com.extjs.gxt.ui.client.widget.menu.Menu;\r
+import com.extjs.gxt.ui.client.widget.menu.MenuItem;\r
+\r
+public class HeaderPanel extends LayoutContainer {\r
+\r
+    private TextField<String> searchConditionTextField;\r
+\r
+    public HeaderPanel() {\r
+        // アカウント\r
+        LoginInfo loginInfo = Registry.get("loginInfo");\r
+        Account account = loginInfo.getAccount();\r
+\r
+        // パネル設定\r
+        TableLayout layout = new TableLayout(2);\r
+        layout.setWidth("100%");\r
+\r
+        this.setLayout(layout);\r
+\r
+        // 検索コンテナ\r
+        LayoutContainer searchPanel = new LayoutContainer();\r
+        searchPanel.setLayout(new TableLayout(3));\r
+\r
+        // タイトル\r
+        Text titleText = new Text("週報業務");\r
+        titleText.setStyleName("font_title");\r
+\r
+        searchPanel.add(titleText);\r
+\r
+        // 検索ボックス\r
+        this.searchConditionTextField = new TextField<String>();\r
+        this.searchConditionTextField.setWidth(200);\r
+\r
+        TableData layoutData = new TableData();\r
+        layoutData.setStyle("padding-left: 5px");\r
+\r
+        searchPanel.add(this.searchConditionTextField, layoutData);\r
+\r
+        // 検索ボタン\r
+        SplitButton searchButton = new SplitButton("検索");\r
+        searchButton.setIconStyle("icon_magnifier");\r
+        searchButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                MessageBox.alert("未実装", "未実装です。", null); // TODO 未実装。\r
+            }\r
+\r
+        });\r
+\r
+        Menu menu = new Menu();\r
+        menu.add(new MenuItem("検索"));\r
+        menu.add(new MenuItem("詳細な検索"));\r
+        menu.add(new MenuItem("スクリプト検索"));\r
+        searchButton.setMenu(menu);\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setStyle("padding-left: 5px");\r
+\r
+        searchPanel.add(searchButton, layoutData);\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setHorizontalAlign(HorizontalAlignment.LEFT);\r
+        layoutData.setVerticalAlign(VerticalAlignment.MIDDLE);\r
+        layoutData.setStyle("padding-top: 5px");\r
+\r
+        this.add(searchPanel, layoutData);\r
+\r
+        // メニュ・コンテナ\r
+        LayoutContainer menuPanel = new LayoutContainer();\r
+        menuPanel.setLayout(new TableLayout(5));\r
+\r
+        // アカウント・アイコン\r
+        Text accountIcon = new Text();\r
+        accountIcon.setStyleName("icon_user");\r
+        accountIcon.setWidth(20);\r
+        menuPanel.add(accountIcon);\r
+\r
+        // アカウント名\r
+        LabelField label = new LabelField(account.getRealName() + " さん [" + account.getAuthority().getName() + "]");\r
+        menuPanel.add(label);\r
+\r
+        // 設定\r
+        Button settingButton = new Button("設定");\r
+        settingButton.setIconStyle("icon_setting");\r
+        settingButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                MessageBox.alert("未実装", "未実装です。", null); // TODO 未実装。\r
+            }\r
+\r
+        });\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setStyle("padding-left: 5px");\r
+\r
+        menuPanel.add(settingButton, layoutData);\r
+\r
+        // ヘルプ\r
+        Button helpButton = new Button("ヘルプ");\r
+        helpButton.setIconStyle("icon_help");\r
+        helpButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                MessageBox.alert("未実装", "未実装です。", null); // TODO 未実装。\r
+            }\r
+\r
+        });\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setStyle("padding-left: 5px");\r
+\r
+        menuPanel.add(helpButton, layoutData);\r
+\r
+        // ログアウト\r
+        Button logoutButton = new Button("ログアウト");\r
+        logoutButton.setIconStyle("icon_logout");\r
+        logoutButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                Dispatcher.get().dispatch(EventTypeConst.LOGOUT);\r
+            }\r
+\r
+        });\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setStyle("padding-left: 5px");\r
+\r
+        menuPanel.add(logoutButton, layoutData);\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setHorizontalAlign(HorizontalAlignment.RIGHT);\r
+        layoutData.setVerticalAlign(VerticalAlignment.MIDDLE);\r
+        layoutData.setStyle("padding-left: 5px");\r
+\r
+        this.add(menuPanel, layoutData);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/IconLabel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/IconLabel.java
new file mode 100644 (file)
index 0000000..200cfaf
--- /dev/null
@@ -0,0 +1,62 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import com.extjs.gxt.ui.client.widget.Composite;\r
+import com.extjs.gxt.ui.client.widget.LayoutContainer;\r
+import com.extjs.gxt.ui.client.widget.Text;\r
+import com.extjs.gxt.ui.client.widget.form.LabelField;\r
+import com.extjs.gxt.ui.client.widget.layout.TableLayout;\r
+\r
+public class IconLabel extends Composite {\r
+\r
+    private Text icon;\r
+\r
+    private LabelField text;\r
+\r
+    public IconLabel() {\r
+        LayoutContainer c = new LayoutContainer();\r
+        c.setLayout(new TableLayout(2));\r
+\r
+        this.icon = new Text();\r
+        this.icon.setWidth(20);\r
+        c.add(this.icon);\r
+\r
+        this.text = new LabelField();\r
+        c.add(this.text);\r
+\r
+        this.initComponent(c);\r
+    }\r
+\r
+    public String getIconStyle() {\r
+        return this.icon.getStyleName();\r
+    }\r
+\r
+    public void setIconStyle(String styleName) {\r
+        this.icon.setStyleName(styleName);\r
+    }\r
+\r
+    public int getIconWidth() {\r
+        return this.icon.getWidth();\r
+    }\r
+\r
+    public void setIconWidth(int iconWidth) {\r
+        this.icon.setWidth(iconWidth);\r
+    }\r
+\r
+    public String getText() {\r
+        return this.text.getText();\r
+    }\r
+\r
+    public void setText(String text) {\r
+        this.text.setText(text);\r
+    }\r
+\r
+    public String getTextStyleName() {\r
+        return this.text.getStyleName();\r
+    }\r
+\r
+    public void setTextStyleName(String styleName) {\r
+        this.text.setStyleName(styleName);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/LoginPanel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/LoginPanel.java
new file mode 100644 (file)
index 0000000..99cf123
--- /dev/null
@@ -0,0 +1,210 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.LoginService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.LoginServiceAsync;\r
+\r
+import com.extjs.gxt.ui.client.Registry;\r
+import com.extjs.gxt.ui.client.Style.HorizontalAlignment;\r
+import com.extjs.gxt.ui.client.event.ButtonEvent;\r
+import com.extjs.gxt.ui.client.event.ComponentEvent;\r
+import com.extjs.gxt.ui.client.event.KeyListener;\r
+import com.extjs.gxt.ui.client.event.SelectionListener;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.widget.ContentPanel;\r
+import com.extjs.gxt.ui.client.widget.Status;\r
+import com.extjs.gxt.ui.client.widget.button.Button;\r
+import com.extjs.gxt.ui.client.widget.button.ButtonBar;\r
+import com.extjs.gxt.ui.client.widget.form.LabelField;\r
+import com.extjs.gxt.ui.client.widget.form.TextField;\r
+import com.extjs.gxt.ui.client.widget.layout.TableData;\r
+import com.extjs.gxt.ui.client.widget.layout.TableLayout;\r
+import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;\r
+import com.google.gwt.core.client.GWT;\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public class LoginPanel extends ContentPanel {\r
+\r
+    private IconLabel errorLabel;\r
+\r
+    private TextField<String> accountNameTextField;\r
+\r
+    private TextField<String> passwordTextField;\r
+\r
+    private Status busyStatus;\r
+\r
+    private Button loginButton;\r
+\r
+    public LoginPanel() {\r
+        this.setIconStyle("icon_user");\r
+        this.setHeading("ログイン - 週報業務");\r
+        this.setWidth(300);\r
+        this.setBodyStyle("padding: 10px");\r
+        this.setShadow(true);\r
+\r
+        TableLayout layout = new TableLayout(2);\r
+        layout.setCellPadding(3);\r
+        layout.setWidth("100%");\r
+\r
+        this.setLayout(layout);\r
+\r
+        // エラー・ラベル\r
+        this.errorLabel = new IconLabel();\r
+        this.errorLabel.setIconStyle("icon_exclamation");\r
+        this.errorLabel.setTextStyleName("font_error");\r
+        this.errorLabel.setWidth(280);\r
+        this.errorLabel.hide();\r
+\r
+        TableData layoutData = new TableData();\r
+        layoutData.setColspan(2);\r
+\r
+        this.add(this.errorLabel, layoutData);\r
+\r
+        // ラベル\r
+        LabelField label = new LabelField("アカウント名");\r
+        label.setWidth(90);\r
+\r
+        layoutData = new TableData();\r
+\r
+        this.add(label, layoutData);\r
+\r
+        // 「アカウント名」テキスト・フィールド\r
+        this.accountNameTextField = new TextField<String>();\r
+        this.accountNameTextField.setWidth(180);\r
+        this.accountNameTextField.addKeyListener(new KeyListener() {\r
+\r
+            @Override\r
+            public void componentKeyUp(ComponentEvent event) {\r
+                if (event.getKeyCode() == 13) {\r
+                    LoginPanel.this.loginBegin();\r
+                }\r
+            }\r
+\r
+        });\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setHorizontalAlign(HorizontalAlignment.RIGHT);\r
+\r
+        this.add(this.accountNameTextField, layoutData);\r
+\r
+        // ラベル\r
+        label = new LabelField("パスワード");\r
+        label.setWidth(90);\r
+\r
+        layoutData = new TableData();\r
+\r
+        this.add(label, layoutData);\r
+\r
+        // 「パスワード」テキスト・フィールド\r
+        this.passwordTextField = new TextField<String>();\r
+        this.passwordTextField.setWidth(180);\r
+        this.passwordTextField.setPassword(true);\r
+        this.passwordTextField.addKeyListener(new KeyListener() {\r
+\r
+            @Override\r
+            public void componentKeyUp(ComponentEvent event) {\r
+                if (event.getKeyCode() == 13) {\r
+                    LoginPanel.this.loginBegin();\r
+                }\r
+            }\r
+\r
+        });\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setHorizontalAlign(HorizontalAlignment.RIGHT);\r
+\r
+        this.add(this.passwordTextField, layoutData);\r
+\r
+        // ボタン・バー\r
+        ButtonBar buttonBar = new ButtonBar();\r
+\r
+        this.busyStatus = new Status();\r
+        this.busyStatus.setBusy("ログイン中...");\r
+        this.busyStatus.hide();\r
+        buttonBar.add(this.busyStatus);\r
+\r
+        buttonBar.add(new FillToolItem());\r
+\r
+        this.loginButton = new Button("ログイン");\r
+        this.loginButton.setIconStyle("icon_accept");\r
+        this.loginButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                LoginPanel.this.loginBegin();\r
+            }\r
+\r
+        });\r
+        buttonBar.add(this.loginButton);\r
+\r
+        layoutData = new TableData();\r
+        layoutData.setColspan(2);\r
+\r
+        this.add(buttonBar, layoutData);\r
+\r
+        this.layout();\r
+\r
+        this.accountNameTextField.focus();\r
+    }\r
+\r
+    private void loginBegin() {\r
+        if (this.accountNameTextField.getValue() == null || this.passwordTextField.getValue() == null) {\r
+            this.errorLabel.setText("アカウント名とパスワードを入力してください。");\r
+            this.errorLabel.show();\r
+\r
+            this.accountNameTextField.focus();\r
+\r
+            this.layout();\r
+\r
+            return;\r
+        }\r
+\r
+        this.accountNameTextField.disable();\r
+        this.passwordTextField.disable();\r
+        this.loginButton.disable();\r
+        this.errorLabel.hide();\r
+        this.busyStatus.show();\r
+\r
+        this.layout();\r
+\r
+        LoginServiceAsync loginService = GWT.create(LoginService.class);\r
+        loginService.login(this.accountNameTextField.getValue(), this.passwordTextField.getValue(), new AsyncCallback<LoginInfo>() {\r
+\r
+            @Override\r
+            public void onSuccess(LoginInfo loginInfo) {\r
+                LoginPanel.this.loginSuccess(loginInfo);\r
+            }\r
+\r
+            @Override\r
+            public void onFailure(Throwable caught) {\r
+                Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void loginSuccess(LoginInfo loginInfo) {\r
+        if (loginInfo == null) {\r
+            this.errorLabel.setText("ログインに失敗しました。アカウント名、<br>またはパスワードが間違えています。");\r
+\r
+            this.accountNameTextField.enable();\r
+            this.passwordTextField.enable();\r
+            this.loginButton.enable();\r
+            this.errorLabel.show();\r
+            this.busyStatus.hide();\r
+\r
+            this.layout();\r
+\r
+            this.accountNameTextField.focus();\r
+\r
+            return;\r
+        }\r
+\r
+        Registry.register("loginInfo", loginInfo);\r
+\r
+        Dispatcher.get().dispatch(EventTypeConst.LOGIN);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/MenuPanel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/MenuPanel.java
new file mode 100644 (file)
index 0000000..9b2e30e
--- /dev/null
@@ -0,0 +1,141 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+\r
+import com.extjs.gxt.ui.client.data.BaseTreeModel;\r
+import com.extjs.gxt.ui.client.data.ModelIconProvider;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.store.TreeStore;\r
+import com.extjs.gxt.ui.client.util.IconHelper;\r
+import com.extjs.gxt.ui.client.widget.ContentPanel;\r
+import com.extjs.gxt.ui.client.widget.layout.FitLayout;\r
+import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;\r
+import com.extjs.gxt.ui.client.widget.treepanel.TreePanelSelectionModel;\r
+import com.google.gwt.user.client.ui.AbstractImagePrototype;\r
+\r
+public class MenuPanel extends ContentPanel {\r
+\r
+    public MenuPanel() {\r
+        this.setHeading("メニュー");\r
+        this.setLayout(new FitLayout());\r
+\r
+        TreeStore<MenuModel> menuTreeStore = new TreeStore<MenuModel>();\r
+\r
+        MenuModel menuItem = new CreateReportMenuModel();\r
+        menuTreeStore.add(menuItem, false);\r
+\r
+        menuItem = new SearchMenuModel("自分の週報");\r
+        menuTreeStore.add(menuItem, false);\r
+\r
+        menuItem = new SearchMenuModel("すべての週報");\r
+\r
+        menuItem.add(new SearchMenuModel("グループ1"));\r
+        menuItem.add(new SearchMenuModel("グループ2"));\r
+        menuItem.add(new SearchMenuModel("グループ3"));\r
+        menuItem.add(new SearchMenuModel("グループ4"));\r
+        menuItem.add(new SearchMenuModel("グループ5"));\r
+        menuItem.add(new SearchMenuModel("グループ6"));\r
+        menuTreeStore.add(menuItem, true);\r
+\r
+        menuItem = new TrashMenuModel();\r
+        menuTreeStore.add(menuItem, false);\r
+\r
+        TreePanel<MenuModel> menuTreePanel = new TreePanel<MenuModel>(menuTreeStore);\r
+        menuTreePanel.setDisplayProperty("display");\r
+        menuTreePanel.setIconProvider(new ModelIconProvider<MenuModel>() {\r
+\r
+            @Override\r
+            public AbstractImagePrototype getIcon(MenuModel model) {\r
+                return IconHelper.createStyle(model.getIconStyleName());\r
+            }\r
+\r
+        });\r
+        menuTreePanel.setSelectionModel(new TreePanelSelectionModel<MenuModel>() {\r
+\r
+            @Override\r
+            protected void onSelectChange(MenuModel model, boolean select) {\r
+                super.onSelectChange(model, select);\r
+\r
+                if (select) {\r
+                    model.raiseEvent(Dispatcher.get());\r
+\r
+                    this.deselectAll();\r
+                }\r
+            }\r
+\r
+        });\r
+        this.add(menuTreePanel);\r
+    }\r
+\r
+    @SuppressWarnings("serial")\r
+    private abstract class MenuModel extends BaseTreeModel {\r
+\r
+        protected MenuModel(String display, String iconStyleName) {\r
+            this.setDisplay(display);\r
+            this.setIconStyleName(iconStyleName);\r
+        }\r
+\r
+        public void setDisplay(String display) {\r
+            this.set("display", display);\r
+        }\r
+\r
+        public String getIconStyleName() {\r
+            return this.get("iconStyleName");\r
+        }\r
+\r
+        public void setIconStyleName(String iconStyleName) {\r
+            this.set("iconStyleName", iconStyleName);\r
+        }\r
+\r
+        public void add(MenuModel childMenuItem) {\r
+            super.add(childMenuItem);\r
+        }\r
+\r
+        public abstract void raiseEvent(Dispatcher dispatcher);\r
+\r
+    }\r
+\r
+    @SuppressWarnings("serial")\r
+    private class CreateReportMenuModel extends MenuModel {\r
+\r
+        public CreateReportMenuModel() {\r
+            super("週報を作成", "icon_pencil");\r
+        }\r
+\r
+        @Override\r
+        public void raiseEvent(Dispatcher dispatcher) {\r
+            dispatcher.dispatch(EventTypeConst.CREATE);\r
+        }\r
+\r
+    }\r
+\r
+    @SuppressWarnings("serial")\r
+    private class TrashMenuModel extends MenuModel {\r
+\r
+        public TrashMenuModel() {\r
+            super("ゴミ箱", "icon_trash");\r
+        }\r
+\r
+        @Override\r
+        public void raiseEvent(Dispatcher dispatcher) {\r
+            dispatcher.dispatch(EventTypeConst.SEARCH);\r
+        }\r
+\r
+    }\r
+\r
+    @SuppressWarnings("serial")\r
+    private class SearchMenuModel extends MenuModel {\r
+\r
+        public SearchMenuModel(String display) {\r
+            super(display, "icon_folder");\r
+        }\r
+\r
+        @Override\r
+        public void raiseEvent(Dispatcher dispatcher) {\r
+            dispatcher.dispatch(EventTypeConst.SEARCH);\r
+        }\r
+\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportCreatePanel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportCreatePanel.java
new file mode 100644 (file)
index 0000000..0a06bc3
--- /dev/null
@@ -0,0 +1,337 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import java.util.Date;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.ReportStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportServiceAsync;\r
+\r
+import com.extjs.gxt.ui.client.GXT;\r
+import com.extjs.gxt.ui.client.Style.Scroll;\r
+import com.extjs.gxt.ui.client.Style.VerticalAlignment;\r
+import com.extjs.gxt.ui.client.event.ButtonEvent;\r
+import com.extjs.gxt.ui.client.event.Listener;\r
+import com.extjs.gxt.ui.client.event.MessageBoxEvent;\r
+import com.extjs.gxt.ui.client.event.SelectionListener;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.widget.ContentPanel;\r
+import com.extjs.gxt.ui.client.widget.MessageBox;\r
+import com.extjs.gxt.ui.client.widget.Status;\r
+import com.extjs.gxt.ui.client.widget.button.Button;\r
+import com.extjs.gxt.ui.client.widget.form.DateField;\r
+import com.extjs.gxt.ui.client.widget.form.HtmlEditor;\r
+import com.extjs.gxt.ui.client.widget.form.LabelField;\r
+import com.extjs.gxt.ui.client.widget.form.TextField;\r
+import com.extjs.gxt.ui.client.widget.layout.TableData;\r
+import com.extjs.gxt.ui.client.widget.layout.TableLayout;\r
+import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;\r
+import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;\r
+import com.google.gwt.core.client.GWT;\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public class WeeklyReportCreatePanel extends ContentPanel {\r
+\r
+    private WeeklyReportServiceAsync weeklyReportService = GWT.create(WeeklyReportService.class);\r
+\r
+    private Status busyStatus;\r
+\r
+    private Button backButton;\r
+\r
+    private Button saveButton;\r
+\r
+    private Button postButton;\r
+\r
+    private Button returnButton;\r
+\r
+    private LabelField postDateLabel;\r
+\r
+    private DateField postDateField;\r
+\r
+    private LabelField authorLabel;\r
+\r
+    private TextField<String> authorField;\r
+\r
+    private LabelField contentLabel;\r
+\r
+    private HtmlEditor contentField;\r
+\r
+    private WeeklyReport original;\r
+\r
+    public WeeklyReportCreatePanel(String weeklyReportId) {\r
+        this.setScrollMode(Scroll.AUTO);\r
+\r
+        if (weeklyReportId == null) {\r
+            this.setHeading("週報作成");\r
+        } else {\r
+            this.setHeading("週報編集");\r
+\r
+        }\r
+\r
+        TableLayout layout = new TableLayout(2);\r
+        layout.setCellSpacing(5);\r
+        layout.setCellVerticalAlign(VerticalAlignment.TOP);\r
+        this.setLayout(layout);\r
+\r
+        // ツール・バー\r
+        ToolBar toolBar = new ToolBar();\r
+\r
+        if (weeklyReportId != null) {\r
+            this.backButton = new Button("<< 詳細に戻る");\r
+            this.backButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+                @Override\r
+                public void componentSelected(ButtonEvent ce) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.BACK);\r
+                }\r
+\r
+            });\r
+            toolBar.add(this.backButton);\r
+\r
+            toolBar.add(new SeparatorToolItem());\r
+        }\r
+\r
+        this.saveButton = new Button("一時保存");\r
+        this.saveButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                WeeklyReportCreatePanel.this.saveReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.saveButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        this.postButton = new Button("部長に提出");\r
+        this.postButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent event) {\r
+                WeeklyReportCreatePanel.this.postReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.postButton);\r
+\r
+        if (weeklyReportId != null) {\r
+            toolBar.add(new SeparatorToolItem());\r
+\r
+            this.returnButton = new Button("部員に返却");\r
+            this.returnButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+                @Override\r
+                public void componentSelected(ButtonEvent ce) {\r
+                    WeeklyReportCreatePanel.this.returnReport();\r
+                }\r
+\r
+            });\r
+            toolBar.add(this.returnButton);\r
+        }\r
+\r
+        this.setTopComponent(toolBar);\r
+\r
+        // 通信中\r
+        this.busyStatus = new Status();\r
+        this.busyStatus.setBusy("通信中...");\r
+        this.busyStatus.hide();\r
+\r
+        TableData layoutData = new TableData();\r
+        layoutData.setColspan(2);\r
+\r
+        this.add(this.busyStatus, layoutData);\r
+\r
+        // 報告日\r
+        this.postDateLabel = new LabelField("報告日");\r
+        this.postDateLabel.setWidth(80);\r
+        this.add(this.postDateLabel);\r
+\r
+        this.postDateField = new DateField();\r
+        this.postDateField.setEditable(false);\r
+        this.postDateField.setValue(new Date());\r
+        this.add(this.postDateField);\r
+\r
+        // 報告者\r
+        this.authorLabel = new LabelField("報告者");\r
+        this.authorLabel.setWidth(80);\r
+        this.add(this.authorLabel);\r
+\r
+        this.authorField = new TextField<String>();\r
+        this.authorField.setValue("山田 太郎");\r
+        this.add(this.authorField);\r
+\r
+        // 報告内容\r
+        this.contentLabel = new LabelField("報告内容");\r
+        this.contentLabel.setWidth(80);\r
+        this.add(this.contentLabel);\r
+\r
+        this.contentField = new HtmlEditor();\r
+        this.contentField.setHeight(300);\r
+        this.add(this.contentField);\r
+\r
+        this.setBottomComponent(toolBar);\r
+\r
+        if (weeklyReportId != null) {\r
+            this.busyStatus.show();\r
+\r
+            if (this.backButton != null) {\r
+                this.backButton.disable();\r
+            }\r
+            this.postButton.disable();\r
+            this.saveButton.disable();\r
+            if (this.returnButton != null) {\r
+                this.returnButton.disable();\r
+            }\r
+\r
+            this.postDateLabel.hide();\r
+            this.postDateField.hide();\r
+            this.authorLabel.hide();\r
+            this.authorField.hide();\r
+            this.contentLabel.hide();\r
+            this.contentField.hide();\r
+\r
+            this.weeklyReportService.findByWeeklyReportId(weeklyReportId, new AsyncCallback<WeeklyReport>() {\r
+\r
+                @Override\r
+                public void onSuccess(WeeklyReport weeklyReport) {\r
+                    WeeklyReportCreatePanel.this.findReport(weeklyReport);\r
+                }\r
+\r
+                @Override\r
+                public void onFailure(Throwable caught) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+                }\r
+\r
+            });\r
+        }\r
+    }\r
+\r
+    private void saveReport() {\r
+        WeeklyReport weeklyReport;\r
+\r
+        if (this.original == null) {\r
+            weeklyReport = new WeeklyReport(null, 0, null, null, null, this.authorField.getValue(), this.postDateField.getValue(), this.contentField.getValue(), ReportStateEnum.CREATE);\r
+        } else {\r
+            weeklyReport = new WeeklyReport(this.original.getEntityId(), this.original.getEntityVersion(), this.original.getEntityCreateDatetime(), this.original.getEntityState(), this.original.getWeeklyReportId(), this.authorField.getValue(), this.postDateField.getValue(), this.contentField.getValue(), this.original.getReportState());\r
+        }\r
+\r
+        this.updateReportFix(weeklyReport);\r
+    }\r
+\r
+    private void postReport() {\r
+        MessageBox.confirm("部長に提出", "週報を部長に提出します。<br>この操作は取り消せません。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReport weeklyReport;\r
+\r
+                    if (WeeklyReportCreatePanel.this.original == null) {\r
+                        weeklyReport = new WeeklyReport(null, 0, null, null, null, WeeklyReportCreatePanel.this.authorField.getValue(), WeeklyReportCreatePanel.this.postDateField.getValue(), WeeklyReportCreatePanel.this.contentField.getValue(), ReportStateEnum.POST);\r
+\r
+                    } else {\r
+                        weeklyReport = new WeeklyReport(WeeklyReportCreatePanel.this.original.getEntityId(), WeeklyReportCreatePanel.this.original.getEntityVersion(), WeeklyReportCreatePanel.this.original.getEntityCreateDatetime(), WeeklyReportCreatePanel.this.original.getEntityState(), WeeklyReportCreatePanel.this.original.getWeeklyReportId(), WeeklyReportCreatePanel.this.authorField.getValue(), WeeklyReportCreatePanel.this.postDateField.getValue(), WeeklyReportCreatePanel.this.contentField.getValue(), ReportStateEnum.POST);\r
+                    }\r
+\r
+                    WeeklyReportCreatePanel.this.updateReportFix(weeklyReport);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void returnReport() {\r
+        MessageBox.confirm("部員に返却", "週報を部員に返却します。<br>この操作は取り消せません。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent be) {\r
+                if (be.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReport weeklyReport = new WeeklyReport(WeeklyReportCreatePanel.this.original.getEntityId(), WeeklyReportCreatePanel.this.original.getEntityVersion(), WeeklyReportCreatePanel.this.original.getEntityCreateDatetime(), WeeklyReportCreatePanel.this.original.getEntityState(), WeeklyReportCreatePanel.this.original.getWeeklyReportId(), WeeklyReportCreatePanel.this.authorField.getValue(), WeeklyReportCreatePanel.this.postDateField.getValue(), WeeklyReportCreatePanel.this.contentField.getValue(), ReportStateEnum.RETURN);\r
+\r
+                    WeeklyReportCreatePanel.this.updateReportFix(weeklyReport);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void updateReportFix(WeeklyReport weeklyReport) {\r
+        this.setVScrollPosition(0);\r
+        this.setHScrollPosition(0);\r
+\r
+        this.busyStatus.show();\r
+\r
+        if (this.backButton != null) {\r
+            this.backButton.disable();\r
+        }\r
+        this.saveButton.disable();\r
+        this.postButton.disable();\r
+        if (this.returnButton != null) {\r
+            this.returnButton.disable();\r
+        }\r
+\r
+        this.postDateField.disable();\r
+        this.authorField.disable();\r
+        this.contentField.disable();\r
+\r
+        if (weeklyReport.getEntityId() == null) {\r
+            this.weeklyReportService.create(weeklyReport, new AsyncCallback<String>() {\r
+\r
+                @Override\r
+                public void onSuccess(String weeklyReportId) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.SEARCH);\r
+                }\r
+\r
+                @Override\r
+                public void onFailure(Throwable caught) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+                }\r
+\r
+            });\r
+        } else {\r
+            this.weeklyReportService.update(weeklyReport, new AsyncCallback<Void>() {\r
+\r
+                @Override\r
+                public void onSuccess(Void result) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.SEARCH);\r
+                }\r
+\r
+                @Override\r
+                public void onFailure(Throwable caught) {\r
+                    Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+                }\r
+\r
+            });\r
+        }\r
+    }\r
+\r
+    private void findReport(WeeklyReport weeklyReport) {\r
+        this.original = weeklyReport;\r
+\r
+        this.postDateField.setValue(weeklyReport.getPostDate());\r
+        this.authorField.setValue(weeklyReport.getAuthorId());\r
+        this.contentField.setValue(weeklyReport.getContent());\r
+\r
+        this.busyStatus.hide();\r
+\r
+        if (this.backButton != null) {\r
+            this.backButton.enable();\r
+        }\r
+        this.postButton.enable();\r
+        this.saveButton.enable();\r
+        if (this.returnButton != null) {\r
+            this.returnButton.enable();\r
+        }\r
+\r
+        this.postDateLabel.show();\r
+        this.postDateField.show();\r
+        this.authorLabel.show();\r
+        this.authorField.show();\r
+        this.contentLabel.show();\r
+        this.contentField.show();\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportDetailPanel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportDetailPanel.java
new file mode 100644 (file)
index 0000000..717349a
--- /dev/null
@@ -0,0 +1,339 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.ReportStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportServiceAsync;\r
+\r
+import com.extjs.gxt.ui.client.GXT;\r
+import com.extjs.gxt.ui.client.Style.Scroll;\r
+import com.extjs.gxt.ui.client.Style.VerticalAlignment;\r
+import com.extjs.gxt.ui.client.event.ButtonEvent;\r
+import com.extjs.gxt.ui.client.event.Listener;\r
+import com.extjs.gxt.ui.client.event.MessageBoxEvent;\r
+import com.extjs.gxt.ui.client.event.SelectionListener;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.widget.ContentPanel;\r
+import com.extjs.gxt.ui.client.widget.MessageBox;\r
+import com.extjs.gxt.ui.client.widget.Status;\r
+import com.extjs.gxt.ui.client.widget.button.Button;\r
+import com.extjs.gxt.ui.client.widget.form.LabelField;\r
+import com.extjs.gxt.ui.client.widget.layout.TableData;\r
+import com.extjs.gxt.ui.client.widget.layout.TableLayout;\r
+import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;\r
+import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;\r
+import com.google.gwt.core.client.GWT;\r
+import com.google.gwt.user.client.Window;\r
+import com.google.gwt.user.client.Window.Location;\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+\r
+public class WeeklyReportDetailPanel extends ContentPanel {\r
+\r
+    private WeeklyReportServiceAsync weeklyReportService = GWT.create(WeeklyReportService.class);\r
+\r
+    private Button backButton;\r
+\r
+    private Button editButton;\r
+\r
+    private Button printButton;\r
+\r
+    private Button postButton;\r
+\r
+    private Button returnButton;\r
+\r
+    private Button deleteButton;\r
+\r
+    private Status busyStatus;\r
+\r
+    private LabelField idLabel;\r
+\r
+    private LabelField idField;\r
+\r
+    private LabelField postDateLabel;\r
+\r
+    private LabelField postDateField;\r
+\r
+    private LabelField authorLabel;\r
+\r
+    private LabelField authorField;\r
+\r
+    private LabelField contentLabel;\r
+\r
+    private LabelField contentField;\r
+\r
+    private LabelField stateLabel;\r
+\r
+    private LabelField stateField;\r
+\r
+    private WeeklyReport original;\r
+\r
+    public WeeklyReportDetailPanel(String weeklyReportId) {\r
+        this.setScrollMode(Scroll.AUTO);\r
+        this.setHeading("週報");\r
+\r
+        TableLayout layout = new TableLayout(2);\r
+        layout.setCellSpacing(5);\r
+        layout.setCellVerticalAlign(VerticalAlignment.TOP);\r
+        this.setLayout(layout);\r
+\r
+        // ツール・バー\r
+        ToolBar toolBar = new ToolBar();\r
+\r
+        this.backButton = new Button("<< 一覧に戻る");\r
+        this.backButton.disable();\r
+        this.backButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                Dispatcher.get().dispatch(EventTypeConst.BACK);\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.backButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        this.editButton = new Button("週報を編集");\r
+        this.editButton.disable();\r
+        this.editButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent event) {\r
+                Dispatcher.get().dispatch(EventTypeConst.EDIT, WeeklyReportDetailPanel.this.original.getWeeklyReportId());\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.editButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        this.printButton = new Button("印刷(Word出力)");\r
+        this.printButton.disable();\r
+        this.printButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                String url = Location.getProtocol() + "//" + Location.getHost() + Location.getPath();\r
+                if (url.endsWith("/")) {\r
+                    url = url.substring(0, url.length() - 1);\r
+                }\r
+                url += "/servlet/print?id=" + WeeklyReportDetailPanel.this.original.getWeeklyReportId();\r
+\r
+                Window.open(url, "_blank", "");\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.printButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        this.postButton = new Button("部長に提出");\r
+        this.postButton.disable();\r
+        this.postButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent event) {\r
+                WeeklyReportDetailPanel.this.postReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.postButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        this.returnButton = new Button("部員に返却");\r
+        this.returnButton.disable();\r
+        this.returnButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                WeeklyReportDetailPanel.this.returnReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.returnButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        this.deleteButton = new Button("ゴミ箱に移動");\r
+        this.deleteButton.disable();\r
+        this.deleteButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                WeeklyReportDetailPanel.this.deleteReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(this.deleteButton);\r
+\r
+        this.setTopComponent(toolBar);\r
+\r
+        // 通信中メッセージ\r
+        this.busyStatus = new Status();\r
+        this.busyStatus.setBusy("通信中...");\r
+        this.busyStatus.show();\r
+\r
+        TableData layoutData = new TableData();\r
+        layoutData.setColspan(2);\r
+\r
+        this.add(this.busyStatus, layoutData);\r
+\r
+        // ID\r
+        this.idLabel = new LabelField("ID");\r
+        this.idLabel.hide();\r
+        this.add(this.idLabel);\r
+\r
+        this.idField = new LabelField();\r
+        this.idField.hide();\r
+        this.add(this.idField);\r
+\r
+        // 報告日\r
+        this.postDateLabel = new LabelField("報告日");\r
+        this.postDateLabel.hide();\r
+        this.add(this.postDateLabel);\r
+\r
+        this.postDateField = new LabelField();\r
+        this.postDateField.hide();\r
+        this.add(this.postDateField);\r
+\r
+        // 報告者\r
+        this.authorLabel = new LabelField("報告者");\r
+        this.authorLabel.hide();\r
+        this.add(this.authorLabel);\r
+\r
+        this.authorField = new LabelField();\r
+        this.authorField.hide();\r
+        this.add(this.authorField);\r
+\r
+        // 報告内容\r
+        this.contentLabel = new LabelField("報告内容");\r
+        this.contentLabel.hide();\r
+        this.add(this.contentLabel);\r
+\r
+        this.contentField = new LabelField();\r
+        this.contentField.hide();\r
+        this.add(this.contentField);\r
+\r
+        // 状態\r
+        this.stateLabel = new LabelField("状態");\r
+        this.stateLabel.hide();\r
+        this.add(this.stateLabel);\r
+\r
+        this.stateField = new LabelField();\r
+        this.stateField.hide();\r
+        this.add(this.stateField);\r
+\r
+        // 週報内容取得\r
+        this.findReport(weeklyReportId);\r
+    }\r
+\r
+    private void findReport(String weeklyReportId) {\r
+        this.weeklyReportService.findByWeeklyReportId(weeklyReportId, new AsyncCallback<WeeklyReport>() {\r
+\r
+            @Override\r
+            public void onSuccess(WeeklyReport result) {\r
+                WeeklyReportDetailPanel.this.findReportSuccess(result);\r
+            }\r
+\r
+            @Override\r
+            public void onFailure(Throwable caught) {\r
+                Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void findReportSuccess(WeeklyReport result) {\r
+        this.original = result;\r
+\r
+        this.busyStatus.hide();\r
+\r
+        this.backButton.enable();\r
+        this.editButton.enable();\r
+        this.printButton.enable();\r
+        this.postButton.enable();\r
+        this.returnButton.enable();\r
+        this.deleteButton.enable();\r
+\r
+        this.idLabel.show();\r
+        this.idField.setText(result.getWeeklyReportId());\r
+        this.idField.show();\r
+\r
+        this.postDateLabel.show();\r
+        this.postDateField.setText(result.getPostDate().toString());\r
+        this.postDateField.show();\r
+\r
+        this.authorLabel.show();\r
+        this.authorField.setText(result.getAuthorId());\r
+        this.authorField.show();\r
+\r
+        this.contentLabel.show();\r
+        this.contentField.setText(result.getContent());\r
+        this.contentField.show();\r
+\r
+        this.stateLabel.show();\r
+        this.stateField.setText(result.getReportState().getName());\r
+        this.stateField.show();\r
+    }\r
+\r
+    private void postReport() {\r
+        MessageBox.confirm("部長に提出", "週報を部長に提出します。<br>この操作は取り消せません。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReportDetailPanel.this.editReportFix(ReportStateEnum.POST);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void returnReport() {\r
+        MessageBox.confirm("部員に返却", "週報を部員に返却します。<br>この操作は取り消せません。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReportDetailPanel.this.editReportFix(ReportStateEnum.RETURN);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void deleteReport() {\r
+        MessageBox.confirm("ゴミ箱に移動", "週報をゴミ箱に移動します。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReportDetailPanel.this.editReportFix(ReportStateEnum.DELETE);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void editReportFix(ReportStateEnum reportState) {\r
+        WeeklyReport weeklyReport = new WeeklyReport(this.original.getEntityId(), this.original.getEntityVersion(), this.original.getEntityCreateDatetime(), this.original.getEntityState(), this.original.getWeeklyReportId(), this.original.getAuthorId(), this.original.getPostDate(), this.original.getContent(), reportState);\r
+\r
+        this.weeklyReportService.update(weeklyReport, new AsyncCallback<Void>() {\r
+\r
+            @Override\r
+            public void onSuccess(Void result) {\r
+                Dispatcher.get().dispatch(EventTypeConst.SEARCH);\r
+            }\r
+\r
+            @Override\r
+            public void onFailure(Throwable caught) {\r
+                Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportListPanel.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/client/widget/WeeklyReportListPanel.java
new file mode 100644 (file)
index 0000000..324423c
--- /dev/null
@@ -0,0 +1,347 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.client.widget;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Date;\r
+import java.util.List;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.EventTypeConst;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.ReportStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportServiceAsync;\r
+\r
+import com.extjs.gxt.ui.client.GXT;\r
+import com.extjs.gxt.ui.client.data.BaseModelData;\r
+import com.extjs.gxt.ui.client.event.ButtonEvent;\r
+import com.extjs.gxt.ui.client.event.Listener;\r
+import com.extjs.gxt.ui.client.event.MessageBoxEvent;\r
+import com.extjs.gxt.ui.client.event.SelectionListener;\r
+import com.extjs.gxt.ui.client.mvc.Dispatcher;\r
+import com.extjs.gxt.ui.client.store.ListStore;\r
+import com.extjs.gxt.ui.client.widget.ContentPanel;\r
+import com.extjs.gxt.ui.client.widget.MessageBox;\r
+import com.extjs.gxt.ui.client.widget.Status;\r
+import com.extjs.gxt.ui.client.widget.button.Button;\r
+import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;\r
+import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;\r
+import com.extjs.gxt.ui.client.widget.grid.ColumnData;\r
+import com.extjs.gxt.ui.client.widget.grid.ColumnModel;\r
+import com.extjs.gxt.ui.client.widget.grid.Grid;\r
+import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;\r
+import com.extjs.gxt.ui.client.widget.layout.FitLayout;\r
+import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;\r
+import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;\r
+import com.google.gwt.core.client.GWT;\r
+import com.google.gwt.event.dom.client.ClickEvent;\r
+import com.google.gwt.event.dom.client.ClickHandler;\r
+import com.google.gwt.i18n.client.DateTimeFormat;\r
+import com.google.gwt.user.client.rpc.AsyncCallback;\r
+import com.google.gwt.user.client.ui.Hyperlink;\r
+\r
+public class WeeklyReportListPanel extends ContentPanel {\r
+\r
+    private WeeklyReportServiceAsync weeklyReportService = GWT.create(WeeklyReportService.class);\r
+\r
+    private Status loadingStatus;\r
+\r
+    private Grid<WeeklyReportModel> grid;\r
+\r
+    private ListStore<WeeklyReportModel> gridStore;\r
+\r
+    public WeeklyReportListPanel() {\r
+        this.setLayout(new FitLayout());\r
+        this.setHeading("週報一覧");\r
+\r
+        // ツール・バー\r
+        ToolBar toolBar = new ToolBar();\r
+\r
+        Button postButton = new Button("部長に提出");\r
+        postButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                WeeklyReportListPanel.this.postReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(postButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        Button returnButton = new Button("部員に返却");\r
+        returnButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent ce) {\r
+                WeeklyReportListPanel.this.returnReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(returnButton);\r
+\r
+        toolBar.add(new SeparatorToolItem());\r
+\r
+        Button deleteButton = new Button("ゴミ箱に移動");\r
+        deleteButton.addSelectionListener(new SelectionListener<ButtonEvent>() {\r
+\r
+            @Override\r
+            public void componentSelected(ButtonEvent event) {\r
+                WeeklyReportListPanel.this.deleteReport();\r
+            }\r
+\r
+        });\r
+        toolBar.add(deleteButton);\r
+\r
+        this.setTopComponent(toolBar);\r
+\r
+        // グリッド\r
+        this.gridStore = new ListStore<WeeklyReportModel>();\r
+\r
+        List<ColumnConfig> columnConfigList = new ArrayList<ColumnConfig>();\r
+\r
+        CheckBoxSelectionModel<WeeklyReportModel> selectionModel = new CheckBoxSelectionModel<WeeklyReportModel>();\r
+        columnConfigList.add(selectionModel.getColumn());\r
+\r
+        ColumnConfig columnConfig = new ColumnConfig("name", "文書名", 300);\r
+        columnConfig.setRenderer(new GridCellRenderer<WeeklyReportModel>() {\r
+\r
+            @Override\r
+            public Object render(WeeklyReportModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<WeeklyReportModel> store, Grid<WeeklyReportModel> grid) {\r
+                final String weeklyReportId = model.getWeeklyReportId();\r
+\r
+                Hyperlink link = new Hyperlink("週報 [" + model.getAuthorId() + "]", "");\r
+                link.addClickHandler(new ClickHandler() {\r
+\r
+                    @Override\r
+                    public void onClick(ClickEvent event) {\r
+                        Dispatcher.get().dispatch(EventTypeConst.DETAIL, weeklyReportId);\r
+                    }\r
+\r
+                });\r
+\r
+                return link;\r
+            }\r
+\r
+        });\r
+        columnConfigList.add(columnConfig);\r
+\r
+        columnConfig = new ColumnConfig("postDate", "作成日", 100);\r
+        columnConfig.setRenderer(new GridCellRenderer<WeeklyReportModel>() {\r
+\r
+            @Override\r
+            public Object render(WeeklyReportModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<WeeklyReportModel> store, Grid<WeeklyReportModel> grid) {\r
+                DateTimeFormat formatter = DateTimeFormat.getFormat("yyyy/MM/dd");\r
+                String postDateString = formatter.format(model.getPostDate());\r
+\r
+                return postDateString;\r
+            }\r
+\r
+        });\r
+        columnConfigList.add(columnConfig);\r
+\r
+        columnConfig = new ColumnConfig("authorId", "報告者", 100);\r
+        columnConfigList.add(columnConfig);\r
+\r
+        columnConfig = new ColumnConfig("reportState", "状態", 100);\r
+        columnConfig.setRenderer(new GridCellRenderer<WeeklyReportModel>() {\r
+\r
+            @Override\r
+            public Object render(WeeklyReportModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<WeeklyReportModel> store, Grid<WeeklyReportModel> grid) {\r
+                return model.getReportState().getName();\r
+            }\r
+\r
+        });\r
+        columnConfigList.add(columnConfig);\r
+\r
+        ColumnModel columnModel = new ColumnModel(columnConfigList);\r
+\r
+        this.grid = new Grid<WeeklyReportModel>(this.gridStore, columnModel);\r
+        this.grid.setSelectionModel(selectionModel);\r
+        this.grid.hide();\r
+        this.add(this.grid);\r
+\r
+        // ローディング\r
+        this.loadingStatus = new Status();\r
+        this.loadingStatus.setBusy("検索中...");\r
+\r
+        this.add(this.loadingStatus);\r
+\r
+        // 検索\r
+        this.findReport();\r
+    }\r
+\r
+    private void findReport() {\r
+        this.grid.hide();\r
+        this.loadingStatus.show();\r
+\r
+        this.weeklyReportService.findAll(new AsyncCallback<List<WeeklyReport>>() {\r
+\r
+            @Override\r
+            public void onSuccess(List<WeeklyReport> result) {\r
+                WeeklyReportListPanel.this.findSuccess(result);\r
+            }\r
+\r
+            @Override\r
+            public void onFailure(Throwable caught) {\r
+                Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void findSuccess(List<WeeklyReport> l) {\r
+        this.gridStore.removeAll();\r
+\r
+        for (WeeklyReport original : l) {\r
+            WeeklyReportModel model = new WeeklyReportModel(original);\r
+\r
+            this.gridStore.add(model);\r
+        }\r
+\r
+        this.gridStore.commitChanges();\r
+\r
+        this.loadingStatus.hide();\r
+        this.grid.show();\r
+    }\r
+\r
+    private void deleteReport() {\r
+        List<WeeklyReportModel> modelList = this.grid.getSelectionModel().getSelectedItems();\r
+        if (modelList.size() == 0) {\r
+            MessageBox.alert("ゴミ箱に移動", "週報が選択されていません。", null);\r
+\r
+            return;\r
+        }\r
+\r
+        MessageBox.confirm("ゴミ箱に移動", modelList.size() + "個の週報をゴミ箱に移動します。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReportListPanel.this.updateReportFix(ReportStateEnum.DELETE);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void postReport() {\r
+        List<WeeklyReportModel> modelList = this.grid.getSelectionModel().getSelectedItems();\r
+        if (modelList.size() == 0) {\r
+            MessageBox.alert("部長に提出", "週報が選択されていません。", null);\r
+\r
+            return;\r
+        }\r
+\r
+        MessageBox.confirm("部長に提出", modelList.size() + "個の週報を部長に提出します。<br>この操作は取り消せません。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReportListPanel.this.updateReportFix(ReportStateEnum.POST);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void returnReport() {\r
+        List<WeeklyReportModel> modelList = this.grid.getSelectionModel().getSelectedItems();\r
+        if (modelList.size() == 0) {\r
+            MessageBox.alert("部員に返却", "週報が選択されていません。", null);\r
+\r
+            return;\r
+        }\r
+\r
+        MessageBox.confirm("部員に返却", modelList.size() + "個の週報を部員に返却します。<br>この操作は取り消せません。<br>よろしいですか?", new Listener<MessageBoxEvent>() {\r
+\r
+            @Override\r
+            public void handleEvent(MessageBoxEvent event) {\r
+                if (event.getButtonClicked().getText().equals(GXT.MESSAGES.messageBox_yes())) {\r
+                    WeeklyReportListPanel.this.updateReportFix(ReportStateEnum.RETURN);\r
+                }\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    private void updateReportFix(ReportStateEnum reportState) {\r
+        List<WeeklyReportModel> modelList = this.grid.getSelectionModel().getSelectedItems();\r
+\r
+        List<WeeklyReport> weeklyReportList = new ArrayList<WeeklyReport>();\r
+\r
+        for (WeeklyReportModel model : modelList) {\r
+            WeeklyReport weeklyReport = model.getOriginal();\r
+            weeklyReport.setReportState(reportState);\r
+\r
+            weeklyReportList.add(weeklyReport);\r
+        }\r
+\r
+        this.weeklyReportService.update(weeklyReportList, new AsyncCallback<Void>() {\r
+\r
+            @Override\r
+            public void onSuccess(Void result) {\r
+                WeeklyReportListPanel.this.findReport();\r
+            }\r
+\r
+            @Override\r
+            public void onFailure(Throwable caught) {\r
+                Dispatcher.get().dispatch(EventTypeConst.ERROR, caught);\r
+            }\r
+\r
+        });\r
+    }\r
+\r
+    @SuppressWarnings("serial")\r
+    private class WeeklyReportModel extends BaseModelData {\r
+\r
+        private WeeklyReport original;\r
+\r
+        public WeeklyReportModel(WeeklyReport original) {\r
+            this.original = original;\r
+\r
+            this.setWeeklyReportId(original.getWeeklyReportId());\r
+            this.setPostDate(original.getPostDate());\r
+            this.setAuthorId(original.getAuthorId());\r
+            this.setReportState(original.getReportState());\r
+        }\r
+\r
+        public String getWeeklyReportId() {\r
+            return this.get("weeklyReportId");\r
+        }\r
+\r
+        public void setWeeklyReportId(String weeklyReportId) {\r
+            this.set("weeklyReportId", weeklyReportId);\r
+        }\r
+\r
+        public Date getPostDate() {\r
+            return this.get("postDate");\r
+        }\r
+\r
+        public void setPostDate(Date postDate) {\r
+            this.set("postDate", postDate);\r
+        }\r
+\r
+        public String getAuthorId() {\r
+            return this.get("authorId");\r
+        }\r
+\r
+        public void setAuthorId(String authorId) {\r
+            this.set("authorId", authorId);\r
+        }\r
+\r
+        public ReportStateEnum getReportState() {\r
+            return this.get("reportState");\r
+        }\r
+\r
+        public void setReportState(ReportStateEnum reportState) {\r
+            this.set("reportState", reportState);\r
+        }\r
+\r
+        public WeeklyReport getOriginal() {\r
+            return this.original;\r
+        }\r
+\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/AccountData.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/AccountData.java
new file mode 100644 (file)
index 0000000..b13f8ad
--- /dev/null
@@ -0,0 +1,129 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.data;\r
+\r
+import java.util.Date;\r
+\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+import javax.persistence.Version;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.AuthorityEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.EntityStateEnum;\r
+\r
+@Entity\r
+public class AccountData {\r
+\r
+    @Id\r
+    @GeneratedValue(strategy = GenerationType.IDENTITY)\r
+    private Long entityId;\r
+\r
+    @Version\r
+    private long entityVersion;\r
+\r
+    @Temporal(TemporalType.TIMESTAMP)\r
+    private Date entityCreateDatetime;\r
+\r
+    private EntityStateEnum entityState;\r
+\r
+    private String accountId;\r
+\r
+    private String accountName;\r
+\r
+    private String passwordHash;\r
+\r
+    private String realName;\r
+\r
+    private AuthorityEnum authority;\r
+\r
+    public AccountData() {\r
+    }\r
+\r
+    public AccountData(String accountId, String accountName, String passwordHash, String realName, AuthorityEnum authority) {\r
+        super();\r
+        this.accountId = accountId;\r
+        this.accountName = accountName;\r
+        this.passwordHash = passwordHash;\r
+        this.realName = realName;\r
+        this.authority = authority;\r
+\r
+        this.entityCreateDatetime = new Date();\r
+        this.entityState = EntityStateEnum.LATEST;\r
+    }\r
+\r
+    public Long getEntityId() {\r
+        return this.entityId;\r
+    }\r
+\r
+    public void setEntityId(Long entityId) {\r
+        this.entityId = entityId;\r
+    }\r
+\r
+    public long getEntityVersion() {\r
+        return this.entityVersion;\r
+    }\r
+\r
+    public void setEntityVersion(long entityVersion) {\r
+        this.entityVersion = entityVersion;\r
+    }\r
+\r
+    public Date getEntityCreateDatetime() {\r
+        return this.entityCreateDatetime;\r
+    }\r
+\r
+    public void setEntityCreateDatetime(Date entityCreateDatetime) {\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+    }\r
+\r
+    public EntityStateEnum getEntityState() {\r
+        return this.entityState;\r
+    }\r
+\r
+    public void setEntityState(EntityStateEnum entityState) {\r
+        this.entityState = entityState;\r
+    }\r
+\r
+    public String getAccountId() {\r
+        return this.accountId;\r
+    }\r
+\r
+    public void setAccountId(String accountId) {\r
+        this.accountId = accountId;\r
+    }\r
+\r
+    public String getAccountName() {\r
+        return this.accountName;\r
+    }\r
+\r
+    public void setAccountName(String accountName) {\r
+        this.accountName = accountName;\r
+    }\r
+\r
+    public String getPasswordHash() {\r
+        return this.passwordHash;\r
+    }\r
+\r
+    public void setPasswordHash(String passwordHash) {\r
+        this.passwordHash = passwordHash;\r
+    }\r
+\r
+    public String getRealName() {\r
+        return this.realName;\r
+    }\r
+\r
+    public void setRealName(String realName) {\r
+        this.realName = realName;\r
+    }\r
+\r
+    public AuthorityEnum getAuthority() {\r
+        return this.authority;\r
+    }\r
+\r
+    public void setAuthority(AuthorityEnum authority) {\r
+        this.authority = authority;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/EMF.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/EMF.java
new file mode 100644 (file)
index 0000000..18c1be1
--- /dev/null
@@ -0,0 +1,18 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.data;\r
+\r
+import javax.persistence.EntityManagerFactory;\r
+import javax.persistence.Persistence;\r
+\r
+public class EMF {\r
+\r
+    private static final EntityManagerFactory emf = Persistence.createEntityManagerFactory("transactions-optional");\r
+\r
+    private EMF() {\r
+    }\r
+\r
+    public static EntityManagerFactory get() {\r
+        return EMF.emf;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/LoginHistoryData.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/LoginHistoryData.java
new file mode 100644 (file)
index 0000000..50d1c78
--- /dev/null
@@ -0,0 +1,95 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.data;\r
+\r
+import java.util.Date;\r
+\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+import javax.persistence.Version;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.EntityStateEnum;\r
+\r
+@Entity\r
+public class LoginHistoryData {\r
+\r
+    @Id\r
+    @GeneratedValue(strategy = GenerationType.IDENTITY)\r
+    private Long entityId;\r
+\r
+    @Version\r
+    private long entityVersion;\r
+\r
+    @Temporal(TemporalType.TIMESTAMP)\r
+    private Date entityCreateDatetime;\r
+\r
+    private EntityStateEnum entityState;\r
+\r
+    private String loginHistoryId;\r
+\r
+    private String accountId;\r
+\r
+    public LoginHistoryData() {\r
+    }\r
+\r
+    public LoginHistoryData(String loginHistoryId, String accountId) {\r
+        super();\r
+        this.loginHistoryId = loginHistoryId;\r
+        this.accountId = accountId;\r
+\r
+        this.entityCreateDatetime = new Date();\r
+        this.entityState = EntityStateEnum.LATEST;\r
+    }\r
+\r
+    public Long getEntityId() {\r
+        return this.entityId;\r
+    }\r
+\r
+    public void setEntityId(Long entityId) {\r
+        this.entityId = entityId;\r
+    }\r
+\r
+    public long getEntityVersion() {\r
+        return this.entityVersion;\r
+    }\r
+\r
+    public void setEntityVersion(long entityVersion) {\r
+        this.entityVersion = entityVersion;\r
+    }\r
+\r
+    public Date getEntityCreateDatetime() {\r
+        return this.entityCreateDatetime;\r
+    }\r
+\r
+    public void setEntityCreateDatetime(Date entityCreateDatetime) {\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+    }\r
+\r
+    public EntityStateEnum getEntityState() {\r
+        return this.entityState;\r
+    }\r
+\r
+    public void setEntityState(EntityStateEnum entityState) {\r
+        this.entityState = entityState;\r
+    }\r
+\r
+    public String getLoginHistoryId() {\r
+        return this.loginHistoryId;\r
+    }\r
+\r
+    public void setLoginHistoryId(String loginHistoryId) {\r
+        this.loginHistoryId = loginHistoryId;\r
+    }\r
+\r
+    public String getAccountId() {\r
+        return this.accountId;\r
+    }\r
+\r
+    public void setAccountId(String accountId) {\r
+        this.accountId = accountId;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/WeeklyReportData.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/data/WeeklyReportData.java
new file mode 100644 (file)
index 0000000..35663ed
--- /dev/null
@@ -0,0 +1,130 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.data;\r
+\r
+import java.util.Date;\r
+\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+import javax.persistence.Version;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.EntityStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.ReportStateEnum;\r
+\r
+@Entity\r
+public class WeeklyReportData {\r
+\r
+    @Id\r
+    @GeneratedValue(strategy = GenerationType.IDENTITY)\r
+    private Long entityId;\r
+\r
+    @Version\r
+    private long entityVersion;\r
+\r
+    @Temporal(TemporalType.TIMESTAMP)\r
+    private Date entityCreateDatetime;\r
+\r
+    private EntityStateEnum entityState;\r
+\r
+    private String weeklyReportId;\r
+\r
+    private String authorId;\r
+\r
+    @Temporal(TemporalType.DATE)\r
+    private Date postDate;\r
+\r
+    private String content;\r
+\r
+    private ReportStateEnum reportState;\r
+\r
+    public WeeklyReportData() {\r
+    }\r
+\r
+    public WeeklyReportData(String weeklyReportId, String authorId, Date postDate, String content, ReportStateEnum reportState) {\r
+        super();\r
+        this.weeklyReportId = weeklyReportId;\r
+        this.authorId = authorId;\r
+        this.postDate = postDate;\r
+        this.content = content;\r
+        this.reportState = reportState;\r
+\r
+        this.entityCreateDatetime = new Date();\r
+        this.entityState = EntityStateEnum.LATEST;\r
+    }\r
+\r
+    public Long getEntityId() {\r
+        return this.entityId;\r
+    }\r
+\r
+    public void setEntityId(Long entityId) {\r
+        this.entityId = entityId;\r
+    }\r
+\r
+    public long getEntityVersion() {\r
+        return this.entityVersion;\r
+    }\r
+\r
+    public void setEntityVersion(long entityVersion) {\r
+        this.entityVersion = entityVersion;\r
+    }\r
+\r
+    public Date getEntityCreateDatetime() {\r
+        return this.entityCreateDatetime;\r
+    }\r
+\r
+    public void setEntityCreateDatetime(Date entityCreateDatetime) {\r
+        this.entityCreateDatetime = entityCreateDatetime;\r
+    }\r
+\r
+    public EntityStateEnum getEntityState() {\r
+        return this.entityState;\r
+    }\r
+\r
+    public void setEntityState(EntityStateEnum entityState) {\r
+        this.entityState = entityState;\r
+    }\r
+\r
+    public String getWeeklyReportId() {\r
+        return this.weeklyReportId;\r
+    }\r
+\r
+    public void setWeeklyReportId(String weeklyReportId) {\r
+        this.weeklyReportId = weeklyReportId;\r
+    }\r
+\r
+    public String getAuthorId() {\r
+        return this.authorId;\r
+    }\r
+\r
+    public void setAuthorId(String authorId) {\r
+        this.authorId = authorId;\r
+    }\r
+\r
+    public Date getPostDate() {\r
+        return this.postDate;\r
+    }\r
+\r
+    public void setPostDate(Date postDate) {\r
+        this.postDate = postDate;\r
+    }\r
+\r
+    public String getContent() {\r
+        return this.content;\r
+    }\r
+\r
+    public void setContent(String content) {\r
+        this.content = content;\r
+    }\r
+\r
+    public ReportStateEnum getReportState() {\r
+        return this.reportState;\r
+    }\r
+\r
+    public void setReportState(ReportStateEnum reportState) {\r
+        this.reportState = reportState;\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/AccountLogic.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/AccountLogic.java
new file mode 100644 (file)
index 0000000..c17c31b
--- /dev/null
@@ -0,0 +1,162 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.logic;\r
+\r
+import java.util.List;\r
+import java.util.UUID;\r
+import java.util.regex.Pattern;\r
+\r
+import javax.persistence.EntityManager;\r
+import javax.persistence.Query;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.Account;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.AuthorityEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.EntityStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.AccountDataException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.AccountData;\r
+import jp.co.showa_sys_eng.weekly_report.util.StringUtil;\r
+\r
+public class AccountLogic {\r
+\r
+    private EntityManager em;\r
+\r
+    public AccountLogic(EntityManager em) {\r
+        this.em = em;\r
+    }\r
+\r
+    public String create(String accountName, String password, String realName, AuthorityEnum authority) throws AccountDataException {\r
+        // 引数チェック\r
+        if (!Pattern.matches("^[!-~]{3,}$", accountName)) {\r
+            throw new AccountDataException(String.format("accountName invalid: %s", accountName));\r
+        }\r
+\r
+        if (!Pattern.matches("^[!-~]{6,}$", password)) {\r
+            throw new AccountDataException(String.format("password invalid: %s", password));\r
+        }\r
+\r
+        if (authority == null) {\r
+            throw new AccountDataException("authority is null.");\r
+        }\r
+\r
+        // データ整合性チェック\r
+        String queryString = "select e from " + AccountData.class.getName() + " e where e.accountName = :accountName";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("accountName", accountName);\r
+\r
+        List<AccountData> l = query.getResultList();\r
+        if (l.size() > 0) {\r
+            throw new AccountDataException(String.format("already exists. accountName: %s", accountName));\r
+        }\r
+\r
+        // データ作成\r
+        String accountId = UUID.randomUUID().toString();\r
+        String passwordHash = StringUtil.hash(password);\r
+\r
+        AccountData d = new AccountData(accountId, accountName, passwordHash, realName, authority);\r
+        this.em.persist(d);\r
+\r
+        return accountId;\r
+    }\r
+\r
+    public void update(String accountId, String accountName, String password, String realName, AuthorityEnum authority, long entityVersion) throws AccountDataException {\r
+        // 引数チェック\r
+        if (!Pattern.matches("^[!-~]{3,}$", accountName)) {\r
+            throw new AccountDataException(String.format("accountName invalid: %s", accountName));\r
+        }\r
+\r
+        if (!Pattern.matches("^[!-~]{6,}$", password)) {\r
+            throw new AccountDataException(String.format("password invalid: %s", password));\r
+        }\r
+\r
+        if (authority == null) {\r
+            throw new AccountDataException("authority is null.");\r
+        }\r
+\r
+        // データ整合性チェック\r
+        String queryString = "select e from " + AccountData.class.getName() + " e";\r
+        queryString += " where e.accountId = :accountId";\r
+        queryString += " and e.entityVersion = :entityVersion";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("accountId", accountId);\r
+        query.setParameter("entityVersion", entityVersion);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<AccountData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            throw new AccountDataException(String.format("not found. accountId: %s, entityVersion: %s, entityState: %s", accountId, entityVersion, EntityStateEnum.LATEST));\r
+        } else if (l.size() > 1) {\r
+            throw new AccountDataException(String.format("redundant. accountId: %s, entityVersion: %s, entityState: %s", accountId, entityVersion, EntityStateEnum.LATEST));\r
+        }\r
+\r
+        // データ更新\r
+        AccountData d = l.get(0);\r
+\r
+        d.setEntityState(EntityStateEnum.OLD);\r
+        this.em.persist(d);\r
+\r
+        // データ作成\r
+        String passwordHash = StringUtil.hash(password);\r
+\r
+        d = new AccountData(accountId, accountName, passwordHash, realName, authority);\r
+        this.em.persist(d);\r
+    }\r
+\r
+    public void delete(String accountId, long entityVersion) throws AccountDataException {\r
+        // 引数チェック\r
+        // データ整合性チェック\r
+        String queryString = "select e from " + AccountData.class.getName() + " e";\r
+        queryString += " where e.accountId = :accountId";\r
+        queryString += " and e.entityVersion = :entityVersion";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("accountId", accountId);\r
+        query.setParameter("entityVersion", entityVersion);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<AccountData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            throw new AccountDataException(String.format("not found. accountId: %s, entityVersion: %s, entityState: %s", accountId, entityVersion, EntityStateEnum.LATEST));\r
+        } else if (l.size() > 1) {\r
+            throw new AccountDataException(String.format("redundant. accountId: %s, entityVersion: %s, entityState: %s", accountId, entityVersion, EntityStateEnum.LATEST));\r
+        }\r
+\r
+        // データ更新\r
+        AccountData d = l.get(0);\r
+\r
+        d.setEntityState(EntityStateEnum.OLD);\r
+        this.em.persist(d);\r
+\r
+        // データ作成\r
+        d = new AccountData(d.getAccountId(), d.getAccountName(), d.getPasswordHash(), d.getRealName(), d.getAuthority());\r
+        d.setEntityState(EntityStateEnum.DELETE);\r
+        this.em.persist(d);\r
+    }\r
+\r
+    public Account findByAccountId(String accountId) throws AccountDataException {\r
+        // データ検索\r
+        String queryString = "select e from " + AccountData.class.getName() + " e";\r
+        queryString += " where e.accountId = :accountId";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("accountId", accountId);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<AccountData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            return null;\r
+        } else if (l.size() == 1) {\r
+            AccountData d = l.get(0);\r
+\r
+            Account r = new Account(d.getEntityId(), d.getEntityVersion(), d.getEntityCreateDatetime(), d.getEntityState(), d.getAccountId(), d.getAccountName(), null, d.getRealName(), d.getAuthority());\r
+\r
+            return r;\r
+        } else {\r
+            throw new AccountDataException(String.format("redundant. accountId: %s, entityState: %s", accountId, EntityStateEnum.LATEST));\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/LoginLogic.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/LoginLogic.java
new file mode 100644 (file)
index 0000000..541939a
--- /dev/null
@@ -0,0 +1,88 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.logic;\r
+\r
+import java.util.List;\r
+import java.util.UUID;\r
+\r
+import javax.persistence.EntityManager;\r
+import javax.persistence.Query;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.Account;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.EntityStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginHistory;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.LoginException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.AccountData;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.LoginHistoryData;\r
+import jp.co.showa_sys_eng.weekly_report.util.StringUtil;\r
+\r
+public class LoginLogic {\r
+\r
+    private EntityManager em;\r
+\r
+    public LoginLogic(EntityManager em) {\r
+        this.em = em;\r
+    }\r
+\r
+    public LoginInfo login(String accountName, String password) throws LoginException {\r
+        // データ検索\r
+        String queryString = "select e from " + AccountData.class.getName() + " e";\r
+        queryString += " where e.accountName = :accountName";\r
+        queryString += " and e.passwordHash = :passwordHash";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        String passwordHash = StringUtil.hash(password);\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("accountName", accountName);\r
+        query.setParameter("passwordHash", passwordHash);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<AccountData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            return null;\r
+        } else if (l.size() > 1) {\r
+            throw new LoginException("redundant. accountName: " + accountName + ", passwordHash: " + passwordHash + ", entityState:" + EntityStateEnum.LATEST);\r
+        }\r
+\r
+        AccountData d = l.get(0);\r
+\r
+        // ログイン履歴作成\r
+        String loginHistoryId = UUID.randomUUID().toString();\r
+\r
+        LoginHistoryData loginHistoryData = new LoginHistoryData(loginHistoryId, d.getAccountId());\r
+        this.em.persist(loginHistoryData);\r
+\r
+        // 戻す\r
+        Account account = new Account(d.getEntityId(), d.getEntityVersion(), d.getEntityCreateDatetime(), d.getEntityState(), d.getAccountId(), d.getAccountName(), null, d.getRealName(), d.getAuthority());\r
+        LoginHistory loginHistory = new LoginHistory(loginHistoryData.getEntityId(), loginHistoryData.getEntityVersion(), loginHistoryData.getEntityCreateDatetime(), loginHistoryData.getEntityState(), loginHistoryData.getLoginHistoryId(), loginHistoryData.getAccountId());\r
+\r
+        LoginInfo loginInfo = new LoginInfo(account, loginHistory);\r
+\r
+        return loginInfo;\r
+    }\r
+\r
+    public boolean isLogin(String loginHistoryId) throws LoginException {\r
+        // データ検索\r
+        String queryString = "select e from " + LoginHistoryData.class.getName() + " e";\r
+        queryString += " where e.loginHistoryId = :loginHistoryId";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("loginHistoryId", loginHistoryId);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<LoginHistoryData> loginHistoryDataList = query.getResultList();\r
+        if (loginHistoryDataList.size() == 0) {\r
+            return false;\r
+\r
+        } else if (loginHistoryDataList.size() == 1) {\r
+            return true;\r
+\r
+        } else {\r
+            throw new LoginException("redundant. loginHistoryId: " + loginHistoryId + ", entityState: " + EntityStateEnum.LATEST);\r
+\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/ManagerLogic.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/ManagerLogic.java
new file mode 100644 (file)
index 0000000..352aec8
--- /dev/null
@@ -0,0 +1,34 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.logic;\r
+\r
+import javax.persistence.EntityManager;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.AuthorityEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.AccountDataException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportException;\r
+\r
+public class ManagerLogic {\r
+\r
+    private EntityManager em;\r
+\r
+    public ManagerLogic(EntityManager em) {\r
+        this.em = em;\r
+    }\r
+\r
+    public void initialize() throws WeeklyReportException {\r
+        AccountLogic accountLogic = new AccountLogic(this.em);\r
+\r
+        try {\r
+            accountLogic.create("admin", "manager", "システム管理者", AuthorityEnum.ADMIN);\r
+        } catch (AccountDataException e) {\r
+        }\r
+    }\r
+\r
+    public void initializeData() throws WeeklyReportException {\r
+        AccountLogic accountLogic = new AccountLogic(this.em);\r
+\r
+        accountLogic.create("yamada", "password", "山田 太郎", AuthorityEnum.STAFF);\r
+        accountLogic.create("suzuki", "password", "鈴木 花子", AuthorityEnum.MANAGER);\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/WeeklyReportLogic.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/logic/WeeklyReportLogic.java
new file mode 100644 (file)
index 0000000..9699d64
--- /dev/null
@@ -0,0 +1,192 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.logic;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Date;\r
+import java.util.List;\r
+import java.util.UUID;\r
+\r
+import javax.persistence.EntityManager;\r
+import javax.persistence.Query;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.Account;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.EntityStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.ReportStateEnum;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.AccountDataException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportDataException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.WeeklyReportData;\r
+\r
+public class WeeklyReportLogic {\r
+\r
+    private EntityManager em;\r
+\r
+    public WeeklyReportLogic(EntityManager em) {\r
+        this.em = em;\r
+    }\r
+\r
+    public String create(String authorId, Date postDate, String content, ReportStateEnum reportState) throws WeeklyReportDataException {\r
+        // 引数チェック\r
+        AccountLogic accountLogic = new AccountLogic(this.em);\r
+        Account author;\r
+        try {\r
+            author = accountLogic.findByAccountId(authorId);\r
+        } catch (AccountDataException e) {\r
+            throw new WeeklyReportDataException(e);\r
+        }\r
+        if (author == null) {\r
+            throw new WeeklyReportDataException(String.format("Account not found. authorId: %s", authorId));\r
+        }\r
+\r
+        if (postDate == null) {\r
+            throw new WeeklyReportDataException("postDate is null.");\r
+        }\r
+\r
+        if (content == null) {\r
+            throw new WeeklyReportDataException("content is null.");\r
+        }\r
+\r
+        if (reportState == null) {\r
+            throw new WeeklyReportDataException("reportState is null.");\r
+        }\r
+\r
+        // データ作成\r
+        String weeklyReportId = UUID.randomUUID().toString();\r
+\r
+        WeeklyReportData weeklyReportData = new WeeklyReportData(weeklyReportId, authorId, postDate, content, reportState);\r
+        this.em.persist(weeklyReportData);\r
+\r
+        return weeklyReportId;\r
+    }\r
+\r
+    public void update(String weeklyReportId, String authorId, Date postDate, String content, ReportStateEnum reportState, long entityVersion) throws WeeklyReportDataException {\r
+        // 引数チェック\r
+        AccountLogic accountLogic = new AccountLogic(this.em);\r
+        Account author;\r
+        try {\r
+            author = accountLogic.findByAccountId(authorId);\r
+        } catch (AccountDataException e) {\r
+            throw new WeeklyReportDataException(e);\r
+        }\r
+        if (author == null) {\r
+            throw new WeeklyReportDataException(String.format("Account not found. authorId: %s", authorId));\r
+        }\r
+\r
+        if (postDate == null) {\r
+            throw new WeeklyReportDataException("postDate is null.");\r
+        }\r
+\r
+        if (content == null) {\r
+            throw new WeeklyReportDataException("content is null.");\r
+        }\r
+\r
+        if (reportState == null) {\r
+            throw new WeeklyReportDataException("reportState is null.");\r
+        }\r
+\r
+        // 既存データ検索\r
+        String queryString = "select e from " + WeeklyReportData.class.getName() + " e";\r
+        queryString += " where e.weeklyReportId = :weeklyReportId";\r
+        queryString += " and e.entityVersion = :entityVersion";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("weeklyReportId", weeklyReportId);\r
+        query.setParameter("entityVersion", entityVersion);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<WeeklyReportData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            throw new WeeklyReportDataException(String.format("not found. weeklyReportId: %s, entityVersion: %s, entityState: %s", weeklyReportId, entityVersion, EntityStateEnum.LATEST));\r
+        } else if (l.size() > 1) {\r
+            throw new WeeklyReportDataException(String.format("redundant. weeklyReportId: %s, entityVersion: %s, entityState: %s", weeklyReportId, entityVersion, EntityStateEnum.LATEST));\r
+        }\r
+\r
+        WeeklyReportData weeklyReportData = l.get(0);\r
+\r
+        // 既存データ更新\r
+        weeklyReportData.setEntityState(EntityStateEnum.OLD);\r
+        this.em.persist(weeklyReportData);\r
+\r
+        // データ作成\r
+        weeklyReportData = new WeeklyReportData(weeklyReportId, authorId, postDate, content, reportState);\r
+        this.em.persist(weeklyReportData);\r
+    }\r
+\r
+    public void delete(String weeklyReportId, long entityVersion) throws WeeklyReportDataException {\r
+        // 既存データ検索\r
+        String queryString = "select e from " + WeeklyReportData.class.getName() + " e";\r
+        queryString += " where e.weeklyReportId = :weeklyReportId";\r
+        queryString += " and e.entityVersion = :entityVersion";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("weeklyReportId", weeklyReportId);\r
+        query.setParameter("entityVersion", entityVersion);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<WeeklyReportData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            throw new WeeklyReportDataException(String.format("not found. weeklyReportId: %s, entityVersion: %s", weeklyReportId, entityVersion));\r
+        } else if (l.size() > 1) {\r
+            throw new WeeklyReportDataException(String.format("redundant. weeklyReportId: %s, entityVersion: %s", weeklyReportId, entityVersion));\r
+        }\r
+\r
+        WeeklyReportData d = l.get(0);\r
+\r
+        // 既存データ更新\r
+        d.setEntityState(EntityStateEnum.OLD);\r
+        this.em.persist(d);\r
+\r
+        // データ作成\r
+        d = new WeeklyReportData(d.getWeeklyReportId(), d.getAuthorId(), d.getPostDate(), d.getContent(), d.getReportState());\r
+        d.setEntityState(EntityStateEnum.DELETE);\r
+        this.em.persist(d);\r
+    }\r
+\r
+    public List<WeeklyReport> findAll() {\r
+        // データ検索\r
+        String queryString = "select e from " + WeeklyReportData.class.getName() + " e";\r
+        queryString += " where e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<WeeklyReportData> l = query.getResultList();\r
+\r
+        List<WeeklyReport> result = new ArrayList<WeeklyReport>();\r
+\r
+        for (WeeklyReportData d : l) {\r
+            WeeklyReport r = new WeeklyReport(d.getEntityId(), d.getEntityVersion(), d.getEntityCreateDatetime(), d.getEntityState(), d.getWeeklyReportId(), d.getAuthorId(), d.getPostDate(), d.getContent(), d.getReportState());\r
+\r
+            result.add(r);\r
+        }\r
+\r
+        return result;\r
+    }\r
+\r
+    public WeeklyReport findByWeeklyReportId(String weeklyReportId) throws WeeklyReportDataException {\r
+        // データ検索\r
+        String queryString = "select e from " + WeeklyReportData.class.getName() + " e";\r
+        queryString += " where e.weeklyReportId = :weeklyReportId";\r
+        queryString += " and e.entityState = :entityState";\r
+\r
+        Query query = this.em.createQuery(queryString);\r
+        query.setParameter("weeklyReportId", weeklyReportId);\r
+        query.setParameter("entityState", EntityStateEnum.LATEST);\r
+\r
+        List<WeeklyReportData> l = query.getResultList();\r
+        if (l.size() == 0) {\r
+            return null;\r
+        } else if (l.size() == 1) {\r
+            WeeklyReportData d = l.get(0);\r
+\r
+            WeeklyReport r = new WeeklyReport(d.getEntityId(), d.getEntityVersion(), d.getEntityCreateDatetime(), d.getEntityState(), d.getWeeklyReportId(), d.getAuthorId(), d.getPostDate(), d.getContent(), d.getReportState());\r
+\r
+            return r;\r
+        } else {\r
+            throw new WeeklyReportDataException(String.format("redundant. weeklyReportId: %s, entityState: %s", weeklyReportId, EntityStateEnum.LATEST));\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/LoginServiceImpl.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/LoginServiceImpl.java
new file mode 100644 (file)
index 0000000..e042204
--- /dev/null
@@ -0,0 +1,30 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.servlet;\r
+\r
+import javax.persistence.EntityManager;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.LoginInfo;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.LoginException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.LoginService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.EMF;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.logic.LoginLogic;\r
+\r
+import com.google.gwt.user.server.rpc.RemoteServiceServlet;\r
+\r
+@SuppressWarnings("serial")\r
+public class LoginServiceImpl extends RemoteServiceServlet implements LoginService {\r
+\r
+    @Override\r
+    public LoginInfo login(String accountName, String password) throws LoginException {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            LoginLogic l = new LoginLogic(em);\r
+            LoginInfo loginInfo = l.login(accountName, password);\r
+\r
+            return loginInfo;\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/ManagerServiceImpl.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/ManagerServiceImpl.java
new file mode 100644 (file)
index 0000000..afb590e
--- /dev/null
@@ -0,0 +1,27 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.servlet;\r
+\r
+import javax.persistence.EntityManager;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.ManagerService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.EMF;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.logic.ManagerLogic;\r
+\r
+import com.google.gwt.user.server.rpc.RemoteServiceServlet;\r
+\r
+@SuppressWarnings("serial")\r
+public class ManagerServiceImpl extends RemoteServiceServlet implements ManagerService {\r
+\r
+    @Override\r
+    public void initialize() throws WeeklyReportException {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            ManagerLogic managerLogic = new ManagerLogic(em);\r
+            managerLogic.initializeData();\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/WeeklyReportServiceImpl.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/gwt/server/servlet/WeeklyReportServiceImpl.java
new file mode 100644 (file)
index 0000000..b778087
--- /dev/null
@@ -0,0 +1,83 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.gwt.server.servlet;\r
+\r
+import java.util.List;\r
+\r
+import javax.persistence.EntityManager;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportDataException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.service.WeeklyReportService;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.EMF;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.logic.WeeklyReportLogic;\r
+\r
+import com.google.gwt.user.server.rpc.RemoteServiceServlet;\r
+\r
+@SuppressWarnings("serial")\r
+public class WeeklyReportServiceImpl extends RemoteServiceServlet implements WeeklyReportService {\r
+\r
+    @Override\r
+    public String create(WeeklyReport weeklyReport) throws WeeklyReportDataException {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            WeeklyReportLogic l = new WeeklyReportLogic(em);\r
+            String weeklyReportId = l.create(weeklyReport.getAuthorId(), weeklyReport.getPostDate(), weeklyReport.getContent(), weeklyReport.getReportState());\r
+\r
+            return weeklyReportId;\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public List<WeeklyReport> findAll() {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            WeeklyReportLogic l = new WeeklyReportLogic(em);\r
+            List<WeeklyReport> weeklyReportList = l.findAll();\r
+\r
+            return weeklyReportList;\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public WeeklyReport findByWeeklyReportId(String weeklyReportId) throws WeeklyReportDataException {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            WeeklyReportLogic l = new WeeklyReportLogic(em);\r
+            WeeklyReport weeklyReport = l.findByWeeklyReportId(weeklyReportId);\r
+\r
+            return weeklyReport;\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public void update(WeeklyReport weeklyReport) throws WeeklyReportDataException {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            WeeklyReportLogic l = new WeeklyReportLogic(em);\r
+            l.update(weeklyReport.getWeeklyReportId(), weeklyReport.getAuthorId(), weeklyReport.getPostDate(), weeklyReport.getContent(), weeklyReport.getReportState(), weeklyReport.getEntityVersion());\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+    @Override\r
+    public void update(List<WeeklyReport> weeklyReportList) throws WeeklyReportDataException {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            WeeklyReportLogic l = new WeeklyReportLogic(em);\r
+\r
+            for (WeeklyReport weeklyReport : weeklyReportList) {\r
+                l.update(weeklyReport.getWeeklyReportId(), weeklyReport.getAuthorId(), weeklyReport.getPostDate(), weeklyReport.getContent(), weeklyReport.getReportState(), weeklyReport.getEntityVersion());\r
+            }\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/HttpsFilter.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/HttpsFilter.java
new file mode 100644 (file)
index 0000000..62af586
--- /dev/null
@@ -0,0 +1,37 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.servlet;\r
+\r
+import java.io.IOException;\r
+\r
+import javax.servlet.Filter;\r
+import javax.servlet.FilterChain;\r
+import javax.servlet.FilterConfig;\r
+import javax.servlet.ServletException;\r
+import javax.servlet.ServletRequest;\r
+import javax.servlet.ServletResponse;\r
+\r
+public class HttpsFilter implements Filter {\r
+\r
+    private boolean isHttpBlock;\r
+\r
+    @Override\r
+    public void destroy() {\r
+    }\r
+\r
+    @Override\r
+    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {\r
+        if (this.isHttpBlock) {\r
+            if (!req.isSecure()) {\r
+                throw new ServletException("http通信は受け付けられません。");\r
+            }\r
+        }\r
+\r
+        chain.doFilter(req, resp);\r
+    }\r
+\r
+    @Override\r
+    public void init(FilterConfig config) throws ServletException {\r
+        this.isHttpBlock = Boolean.valueOf(config.getInitParameter("isHttpBlock"));\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/ServletContextListenerImpl.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/ServletContextListenerImpl.java
new file mode 100644 (file)
index 0000000..7cc5e64
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.servlet;\r
+\r
+import javax.persistence.EntityManager;\r
+import javax.servlet.ServletContextEvent;\r
+import javax.servlet.ServletContextListener;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.EMF;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.logic.ManagerLogic;\r
+\r
+public class ServletContextListenerImpl implements ServletContextListener {\r
+\r
+    @Override\r
+    public void contextDestroyed(ServletContextEvent event) {\r
+    }\r
+\r
+    @Override\r
+    public void contextInitialized(ServletContextEvent event) {\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            ManagerLogic l = new ManagerLogic(em);\r
+            l.initialize();\r
+        } catch (WeeklyReportException e) {\r
+            throw new RuntimeException(e);\r
+        } finally {\r
+            em.close();\r
+        }\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/WeeklyReportPrintServlet.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/servlet/WeeklyReportPrintServlet.java
new file mode 100644 (file)
index 0000000..d53f32a
--- /dev/null
@@ -0,0 +1,73 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.servlet;\r
+\r
+import java.io.IOException;\r
+import java.text.SimpleDateFormat;\r
+\r
+import javax.persistence.EntityManager;\r
+import javax.servlet.ServletException;\r
+import javax.servlet.http.HttpServlet;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.data.WeeklyReport;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.client.exception.WeeklyReportDataException;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.data.EMF;\r
+import jp.co.showa_sys_eng.weekly_report.gwt.server.logic.WeeklyReportLogic;\r
+\r
+@SuppressWarnings("serial")\r
+public class WeeklyReportPrintServlet extends HttpServlet {\r
+\r
+    @Override\r
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {\r
+        String weeklyReportId = req.getParameter("id");\r
+\r
+        // 検索\r
+        WeeklyReport weeklyReport;\r
+\r
+        EntityManager em = EMF.get().createEntityManager();\r
+        try {\r
+            WeeklyReportLogic l = new WeeklyReportLogic(em);\r
+            weeklyReport = l.findByWeeklyReportId(weeklyReportId);\r
+        } catch (WeeklyReportDataException e) {\r
+            throw new ServletException(e);\r
+        } finally {\r
+            em.close();\r
+        }\r
+\r
+        // Word文書構築\r
+        String doc = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";\r
+        doc += "<?mso-application progid=\"Word.Document\"?>";\r
+        doc += "<w:wordDocument xmlns:w=\"http://schemas.microsoft.com/office/word/2003/wordml\">";\r
+        doc += "    <w:body>";\r
+        doc += "        <w:p>";\r
+        doc += "            <w:r>";\r
+        doc += "                <w:t>Id:" + weeklyReport.getWeeklyReportId() + "</w:t>";\r
+        doc += "            </w:r>";\r
+        doc += "        </w:p>";\r
+        doc += "        <w:p>";\r
+        doc += "            <w:r>";\r
+        doc += "                <w:t>報告日:" + new SimpleDateFormat("yyyy/MM/dd").format(weeklyReport.getPostDate()) + "</w:t>";\r
+        doc += "            </w:r>";\r
+        doc += "        </w:p>";\r
+        doc += "        <w:p>";\r
+        doc += "            <w:r>";\r
+        doc += "                <w:t>報告者:" + weeklyReport.getAuthorId() + "</w:t>";\r
+        doc += "            </w:r>";\r
+        doc += "        </w:p>";\r
+        doc += "        <w:p>";\r
+        doc += "            <w:r>";\r
+        doc += "                <w:t>報告内容:</w:t>";\r
+        doc += "                <w:br/>";\r
+        doc += "                <w:t>" + weeklyReport.getContent() + "</w:t>";\r
+        doc += "            </w:r>";\r
+        doc += "        </w:p>";\r
+        doc += "    </w:body>";\r
+        doc += "</w:wordDocument>";\r
+\r
+        resp.setHeader("Content-Type", "application/msword");\r
+        resp.getOutputStream().write(doc.getBytes("UTF-8"));\r
+        resp.flushBuffer();\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/jp/co/showa_sys_eng/weekly_report/util/StringUtil.java b/weekly-report/src/jp/co/showa_sys_eng/weekly_report/util/StringUtil.java
new file mode 100644 (file)
index 0000000..40363f1
--- /dev/null
@@ -0,0 +1,31 @@
+\r
+package jp.co.showa_sys_eng.weekly_report.util;\r
+\r
+import java.security.MessageDigest;\r
+import java.security.NoSuchAlgorithmException;\r
+\r
+public final class StringUtil {\r
+\r
+    private StringUtil() {\r
+    }\r
+\r
+    public static String hash(String data) {\r
+        StringBuilder hashText = new StringBuilder();\r
+\r
+        MessageDigest md;\r
+        try {\r
+            md = MessageDigest.getInstance("SHA-512");\r
+        } catch (NoSuchAlgorithmException e) {\r
+            return null;\r
+        }\r
+\r
+        byte[] hashData = md.digest(data.getBytes());\r
+        for (int i = 0; i < hashData.length; i++) {\r
+            hashText.append(Integer.toHexString((hashData[i] >> 4) & 0x0f));\r
+            hashText.append(Integer.toHexString(hashData[i] & 0x0f));\r
+        }\r
+\r
+        return hashText.toString();\r
+    }\r
+\r
+}\r
diff --git a/weekly-report/src/log4j.properties b/weekly-report/src/log4j.properties
new file mode 100644 (file)
index 0000000..d9c3edc
--- /dev/null
@@ -0,0 +1,24 @@
+# A default log4j configuration for log4j users.
+#
+# To use this configuration, deploy it into your application's WEB-INF/classes
+# directory.  You are also encouraged to edit it as you like.
+
+# Configure the console as our one appender
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
+
+# tighten logging on the DataNucleus Categories
+log4j.category.DataNucleus.JDO=WARN, A1
+log4j.category.DataNucleus.Persistence=WARN, A1
+log4j.category.DataNucleus.Cache=WARN, A1
+log4j.category.DataNucleus.MetaData=WARN, A1
+log4j.category.DataNucleus.General=WARN, A1
+log4j.category.DataNucleus.Utility=WARN, A1
+log4j.category.DataNucleus.Transaction=WARN, A1
+log4j.category.DataNucleus.Datastore=WARN, A1
+log4j.category.DataNucleus.ClassLoading=WARN, A1
+log4j.category.DataNucleus.Plugin=WARN, A1
+log4j.category.DataNucleus.ValueGeneration=WARN, A1
+log4j.category.DataNucleus.Enhancer=WARN, A1
+log4j.category.DataNucleus.SchemaTool=WARN, A1
diff --git a/weekly-report/war/WEB-INF/appengine-web.xml b/weekly-report/war/WEB-INF/appengine-web.xml
new file mode 100644 (file)
index 0000000..df2f8d9
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
+    <application>weekly-report</application>
+    <version>1</version>
+
+    <!-- Configure java.util.logging -->
+    <system-properties>
+        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties" />
+    </system-properties>
+
+    <ssl-enabled>true</ssl-enabled>
+    
+</appengine-web-app>
diff --git a/weekly-report/war/WEB-INF/lib/gxt.jar b/weekly-report/war/WEB-INF/lib/gxt.jar
new file mode 100644 (file)
index 0000000..86d156c
Binary files /dev/null and b/weekly-report/war/WEB-INF/lib/gxt.jar differ
diff --git a/weekly-report/war/WEB-INF/logging.properties b/weekly-report/war/WEB-INF/logging.properties
new file mode 100644 (file)
index 0000000..4a78b7f
--- /dev/null
@@ -0,0 +1,28 @@
+# A default java.util.logging configuration.
+# (All App Engine logging is through java.util.logging by default).
+#
+# To use this configuration, copy it into your application's WEB-INF
+# folder and add the following to your appengine-web.xml:
+# 
+# <system-properties>
+#   <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
+# </system-properties>
+#
+
+# Set the default logging level for all loggers to WARNING
+.level = WARNING
+
+# Set the default logging level for ORM, specifically, to WARNING
+DataNucleus.JDO.level=WARNING
+DataNucleus.Persistence.level=WARNING
+DataNucleus.Cache.level=WARNING
+DataNucleus.MetaData.level=WARNING
+DataNucleus.General.level=WARNING
+DataNucleus.Utility.level=WARNING
+DataNucleus.Transaction.level=WARNING
+DataNucleus.Datastore.level=WARNING
+DataNucleus.ClassLoading.level=WARNING
+DataNucleus.Plugin.level=WARNING
+DataNucleus.ValueGeneration.level=WARNING
+DataNucleus.Enhancer.level=WARNING
+DataNucleus.SchemaTool.level=WARNING
diff --git a/weekly-report/war/WEB-INF/web.xml b/weekly-report/war/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..eb554df
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">\r
+<web-app>\r
+    <!-- GWTサービス -->\r
+    <servlet>\r
+        <servlet-name>weeklyReportService</servlet-name>\r
+        <servlet-class>jp.co.showa_sys_eng.weekly_report.gwt.server.servlet.WeeklyReportServiceImpl</servlet-class>\r
+    </servlet>\r
+    <servlet-mapping>\r
+        <servlet-name>weeklyReportService</servlet-name>\r
+        <url-pattern>/index/weekly-report</url-pattern>\r
+    </servlet-mapping>\r
+    <servlet>\r
+        <servlet-name>managerService</servlet-name>\r
+        <servlet-class>jp.co.showa_sys_eng.weekly_report.gwt.server.servlet.ManagerServiceImpl</servlet-class>\r
+    </servlet>\r
+    <servlet-mapping>\r
+        <servlet-name>managerService</servlet-name>\r
+        <url-pattern>/index/manager</url-pattern>\r
+    </servlet-mapping>\r
+    <servlet>\r
+        <servlet-name>loginService</servlet-name>\r
+        <servlet-class>jp.co.showa_sys_eng.weekly_report.gwt.server.servlet.LoginServiceImpl</servlet-class>\r
+    </servlet>\r
+    <servlet-mapping>\r
+        <servlet-name>loginService</servlet-name>\r
+        <url-pattern>/index/login</url-pattern>\r
+    </servlet-mapping>\r
+    \r
+    <!-- サーブレット -->\r
+    <servlet>\r
+        <servlet-name>weeklyReportPrintServlet</servlet-name>\r
+        <servlet-class>jp.co.showa_sys_eng.weekly_report.servlet.WeeklyReportPrintServlet</servlet-class>\r
+    </servlet>\r
+    <servlet-mapping>\r
+        <servlet-name>weeklyReportPrintServlet</servlet-name>\r
+        <url-pattern>/servlet/print</url-pattern>\r
+    </servlet-mapping>\r
+    \r
+    <!-- リスナー -->\r
+    <listener>\r
+        <listener-class>jp.co.showa_sys_eng.weekly_report.servlet.ServletContextListenerImpl</listener-class>\r
+    </listener>\r
+    \r
+    <!-- フィルター -->\r
+    <filter>\r
+        <filter-name>HttpsFilter</filter-name>\r
+        <filter-class>jp.co.showa_sys_eng.weekly_report.servlet.HttpsFilter</filter-class>\r
+        <init-param>\r
+            <!-- http通信をブロックするために、更にMainEntryPointを修正することを推奨する。 -->\r
+            <param-name>isHttpBlock</param-name>\r
+            <param-value>false</param-value>\r
+        </init-param>\r
+    </filter>\r
+    <filter-mapping>\r
+        <filter-name>HttpsFilter</filter-name>\r
+        <url-pattern>/*</url-pattern>\r
+    </filter-mapping>\r
+    \r
+    <!-- ウェルカム・ファイル・リスト -->\r
+    <welcome-file-list>\r
+        <welcome-file>index.html</welcome-file>\r
+    </welcome-file-list>\r
+</web-app>\r
diff --git a/weekly-report/war/gxt/chart/open-flash-chart.swf b/weekly-report/war/gxt/chart/open-flash-chart.swf
new file mode 100644 (file)
index 0000000..5ec4444
Binary files /dev/null and b/weekly-report/war/gxt/chart/open-flash-chart.swf differ
diff --git a/weekly-report/war/gxt/css/gxt-all.css b/weekly-report/war/gxt/css/gxt-all.css
new file mode 100644 (file)
index 0000000..bd45415
--- /dev/null
@@ -0,0 +1,6839 @@
+/*
+ * Ext GWT Library 2.0.1
+ * Copyright(c) 2006-2009, 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: 100;
+    position: absolute;
+    top:0;
+    left:0;
+    -moz-opacity: 0.5;
+    opacity: .50;
+    filter: alpha(opacity=50);
+    width: 100%;
+    height: 100%;
+    zoom: 1;
+}
+.ext-el-mask-msg {
+    z-index: 101;
+    position: absolute;
+    top: 0;
+    left: 0;
+    border:1px solid;
+    background:repeat-x 0 -16px;
+    padding:2px;
+}
+.ext-el-mask-msg div {
+    padding:5px 10px 5px 10px;
+    border:1px solid;
+    cursor:wait;
+}
+.ext-webkit *:focus{
+    outline: none !important;
+}
+.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: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-relative {
+    position: relative !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;
+    -webkit-user-select: ignore;
+}
+.x-repaint {
+    zoom: 1;
+    background-color: transparent;
+    -moz-outline: none;
+}
+.x-item-disabled {
+    cursor: default;
+    opacity: .6;
+    -moz-opacity: .6;
+    filter: alpha(opacity=60);
+}
+.x-item-disabled * {
+       cursor: default !important;
+}
+.x-splitbar-proxy {
+    position: absolute;
+    visibility: hidden;
+    z-index: 20001;
+    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;
+    float: left;
+    padding: 2px;
+    text-decoration: none;
+    -moz-outline: 0 none;
+    outline: 0 none;
+    cursor: pointer;
+}
+.x-color-palette a.x-color-palette-hover, .x-color-palette a.x-color-palette-sel {
+    border: 1px solid;
+}
+.x-color-palette em {
+    display: block;
+    border: 1px solid;
+}
+.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;
+    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;
+}
+.x-shadow .xst, .x-shadow .xsb {
+    height: 6px;
+    overflow: hidden;
+    width: 100%;
+}
+.x-shadow .xsml {
+    background: transparent repeat-y 0 0;
+}
+.x-shadow .xsmr {
+    background: transparent repeat-y -6px 0;
+}
+.x-shadow .xstl {
+    background: transparent no-repeat 0 0;
+}
+.x-shadow .xstc {
+    background: transparent repeat-x 0 -30px;
+}
+.x-shadow .xstr {
+    background: transparent repeat-x 0 -18px;
+}
+.x-shadow .xsbl {
+    background: transparent no-repeat 0 -12px;
+}
+.x-shadow .xsbc {
+    background: transparent repeat-x 0 -36px;
+}
+.x-shadow .xsbr {
+    background: transparent repeat-x 0 -6px;
+}
+.loading-indicator {
+    background: no-repeat 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);
+    width:0;
+    height:0;
+    zoom: 1;
+}
+#x-history-frame {
+    position:absolute;
+    top:-1px;
+    left:0;
+       width:1px;
+    height:1px;
+    visibility:hidden;
+}
+#x-history-field {
+    position:absolute;
+    top:0;
+    left:-1px;
+       width:1px;
+    height:1px;
+    visibility:hidden;
+}
+
+.x-portlet {
+  margin-bottom: 10px;
+}
+
+.ext-ie .x-btn-icon .x-btn-center .x-btn-text {
+  height: auto;
+}
+
+.icon-wait {
+  background: url(../images/gxt/icons/wait.gif) no-repeat !important;
+}
+
+.x-portal-insert div {
+  height: 4px;
+  font-size: 0px;
+  border: 2px dotted blue;
+}
+
+.x-panel-icon {
+  padding-left: 20px !important;
+}
+
+.x-icon-btn {
+  width: 16px;
+  height: 16px;
+  overflow: hidden;
+  background-repeat: no-repeat;
+  cursor: pointer;
+}
+
+.x-panel-inline-icon {
+  margin-top: 0;
+}
+
+.x-modal {
+  position: absolute;
+  z-index: 10;
+  background-color: black;
+  filter: alpha(opacity =                     10);
+  opacity: .1;
+  left: 0px;
+  top: 0px;
+}
+
+.x-progress {
+  font-family: tahoma, arial, helvetica, sans-serif;
+}
+
+.x-float-right {
+  float: right;
+}
+
+.x-toolbar .x-float-right {
+  margin-right: 4px;
+}
+
+.x-border {
+  border: 1px solid #99BBE8;
+}
+
+.x-border-top {
+  border-top: 1px solid #99BBE8;
+}
+
+.x-layout-popup {
+  background-color: #DFE8F6;
+  border: 1px solid #7CA4D9;
+}
+
+.x-panel-popup-body {
+  border-top: 1px solid #99BBE8;
+}
+
+.x-layout-collapsed .x-panel-header {
+  border-left: none;
+  border-right: none;
+  border-top: none;
+}
+
+.x-layout-collapsed .x-panel-header .x-tool {
+  margin: 0 0 0 -4px;
+  padding: 0px;
+}
+
+.x-layout-collapsed {
+  position: absolute;
+  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-panel-toolbar {
+  float: right;
+}
+
+.x-cursor-row-resize {
+  cursor: n-resize;
+  cursor: row-resize;
+}
+
+.x-drag-proxy {
+  border: 1px dashed #3b5a82;
+  background-color: #EDEDED;
+  filter: alpha(opacity =                         50);
+  opacity: .5;
+  background-color: #c3daf9;
+  z-index: 20000;
+  overflow: hidden;
+  position: absolute;
+  left: 0;;
+  top: 0;
+}
+
+.x-date-picker,.x-date-picker a {
+  font-size: 11px;
+}
+
+.x-date-days {
+  table-layout: fixed;
+  width: 100%;
+}
+
+.x-date-days td {
+  width: 25px;
+  border: none;
+}
+
+.x-date-days td span {
+  display: block;
+  padding: 2px 7px 2px 2px;
+}
+
+.x-date-days td {
+  background: #DFECFB url(../images/default/shared/glass-bg.gif) repeat-x scroll left top;
+  border-bottom: 1px solid #A3BAD9;
+  border-collapse: separate;
+  color: #233D6D;
+  cursor: default;
+  font-family: arial, helvetica, tahoma, sans-serif;
+  font-size: 10px;
+  font-size-adjust: none;
+  font-stretch: normal;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: normal;
+  line-height: normal;
+  padding: 0pt;
+  text-align: right !important;
+}
+
+.x-date-picker .x-date-header {
+  background: url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;
+  height: 22px;
+  left: 10px;
+  top: 10px;
+  width: 157px;
+}
+
+.x-date-header .x-btn .x-btn-text {
+  color: #fff;
+}
+
+.x-date-picker-footer {
+  width: 100%;
+}
+
+.x-date-picker-footer td {
+  text-align: center;
+}
+
+.x-date-left {
+  background: transparent url(../images/default/shared/hd-sprite.gif) repeat-x scroll 0pt -83px;
+  color: #FFFFFF;
+  font-family: "sans serif", tahoma, verdana, helvetica;
+  font-size: 11px;
+  font-size-adjust: none;
+  font-stretch: normal;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: bold;
+  line-height: normal;
+  overflow: hidden;
+}
+
+.x-modal {
+  position: absolute;
+  z-index: 10;
+  background-color: black;
+  filter: alpha(opacity =                     10);
+  opacity: .1;
+  left: 0px;
+  top: 0px;
+}
+
+.x-progress {
+  font-family: tahoma, arial, helvetica, sans-serif;
+}
+
+.x-float-right {
+  float: right;
+}
+
+.x-layout-popup {
+  background-color: #DFE8F6;
+  border: 1px solid #7CA4D9;
+}
+
+.x-layout-collapsed .x-panel-header .x-tool {
+  margin: 0 0 0 -4px;
+  padding: 0px;
+}
+
+.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-panel-toolbar {
+  float: right;
+}
+
+.x-cursor-col-resize {
+  cursor: e-resize;
+  cursor: col-resize;
+}
+
+.x-cursor-row-resize {
+  cursor: n-resize;
+  cursor: row-resize;
+}
+.x-drag-proxy {
+  border: 1px dashed #3b5a82;
+  background-color: #EDEDED;
+  filter: alpha(opacity=50);
+  opacity: .5;
+  background-color: #c3daf9;
+  z-index: 20000;
+  overflow: hidden;
+  position: absolute;
+  left: 0;;
+  top: 0;
+}.x-tab-panel {
+    overflow:hidden;
+  -moz-outline: none;
+}
+.x-tab-panel-header, .x-tab-panel-footer {
+       border: 1px solid;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tab-panel-header {
+       border: 1px solid;
+       padding-bottom: 2px;
+}
+.x-tab-panel-footer {
+       border: 1px solid;
+       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: repeat-x bottom;
+       border-bottom: 1px solid;
+}
+ul.x-tab-strip-bottom{
+       padding-bottom: 1px;
+       background: repeat-x top;
+       border-top: 1px solid;
+       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;
+    height:2px;
+    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 {
+       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-active, .x-tab-strip-active a.x-tab-right {
+    cursor:default;
+}
+.x-tab-strip-active span.x-tab-strip-text {
+       cursor:default;
+}
+.x-tab-strip-disabled .x-tabs-text {
+       cursor:default;
+}
+.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 no-repeat 0 -51px;
+    padding-left:10px;
+}
+.x-tab-strip-top .x-tab-left {
+       background: transparent no-repeat right -351px;
+    padding-right:10px;
+}
+.x-tab-strip-top .x-tab-strip-inner {
+       background: transparent 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: no-repeat bottom right;
+}
+.x-tab-strip-bottom .x-tab-left {
+       background: no-repeat bottom left;
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+       background: no-repeat bottom left;
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+       background: 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 {
+    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{
+    opacity:1;
+    -moz-opacity:1;
+}
+.x-tab-panel-body {
+    border: 1px solid;
+}
+.x-tab-panel-body-top {
+    border-top: 0 none;
+}
+.x-tab-panel-body-bottom {
+    border-bottom: 0 none;
+}
+.x-tab-scroller-left {
+    background: transparent no-repeat -18px 0;
+    border-bottom: 1px solid;
+    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 no-repeat 0 0;
+    border-bottom: 1px solid;
+    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-bottom .x-tab-scroller-left, .x-tab-scrolling-bottom .x-tab-scroller-right{
+    margin-top: 1px;
+}
+.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;
+    border-top:0 none;
+    overflow:hidden;
+    padding:2px;
+}
+.x-tab-panel-tbar .x-toolbar {
+    border:1px solid;
+    border-top:0 none;
+    overflow:hidden;
+    padding:2px;
+}
+.x-form-field{
+    margin: 0;
+}
+.x-form-text, textarea.x-form-field{
+    padding:1px 3px;
+    background:repeat-x 0 0;
+    border:1px solid;
+}
+textarea.x-form-field {
+    padding:2px 3px;
+}
+.x-form-text, .ext-ie .x-form-file {
+    height:22px;
+    line-height:18px;
+    vertical-align:middle;
+}
+
+.ext-ie6 .x-form-text, .ext-ie7 .x-form-text {
+    margin: -1px 0;
+    height:22px; /* ie quirks */
+    line-height:18px;
+}
+.ext-ie8-compatibility .x-form-text {
+       margin: 0;
+}
+.x-form-field-wrap .x-form-text {
+       position: relative;
+}
+.ext-strict .x-form-text {
+    height:18px;
+}
+.ext-safari.ext-mac textarea.x-form-field {
+    margin-bottom:-2px;  
+}
+.ext-gecko .x-form-text, .ext-ie8 .x-form-text {
+    padding-top:2px;  
+    padding-bottom:0;
+}
+textarea {
+    resize: none;   
+}
+.x-form-select-one {
+    height:20px;
+    line-height:18px;
+    vertical-align:middle;
+    border: 1px solid;
+}
+.x-form-check-wrap {
+    line-height:18px;
+    height: 22px;
+}
+.x-editor .x-form-check-wrap {
+       border: 1px solid;
+       padding:2px;
+       height: 14px;
+}
+.x-editor .x-form-checkbox {
+    height:13px;
+}
+.x-form-check-group-label {
+    border-bottom: 1px solid;
+    margin-bottom: 5px;
+    padding-left: 3px !important;
+    float: none !important;
+}
+.x-form-field-wrap .x-form-trigger{
+    width:17px;
+    height:21px;
+    border:0;
+    background:transparent no-repeat 0 0;
+    cursor:pointer;
+    border-bottom: 1px solid;
+    position:absolute;
+    top:0;
+}
+.ext-safari .x-form-field-wrap .x-form-trigger{
+    height:21px;  
+}
+.x-form-field-wrap .x-form-date-trigger, .x-form-field-wrap .x-form-clear-trigger, .x-form-field-wrap .x-form-search-trigger{
+    cursor:pointer;
+}
+.ext-safari .x-form-field-wrap .x-form-trigger,.ext-gecko .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 {
+    position:relative;
+    left:0;top:0;
+    zoom:1;
+    white-space: nowrap;
+}
+.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;
+}
+.x-item-disabled .x-form-trigger-over{
+    background-position:0 0 !important;
+    border-bottom: 1px solid;
+}
+.x-item-disabled .x-form-trigger-click{
+    background-position:0 0 !important;
+    border-bottom: 1px solid;
+}
+.x-form-focus, textarea.x-form-focus{
+       border: 1px solid;
+}
+.x-form-invalid, textarea.x-form-invalid{
+       background:repeat-x bottom;
+       border: 1px solid;
+}
+.ext-safari .x-form-invalid{
+       border: 1px solid;
+}
+.x-form-inner-invalid, textarea.x-form-inner-invalid{
+       background:repeat-x bottom;
+}
+.x-editor {
+    visibility:hidden;
+    padding:0;
+    margin:0;
+}
+.ext-ie .x-form-check-wrap input {
+    width:15px;
+    height:15px;
+}
+.x-form-grow-sizer {
+    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 {
+    display:block;
+    margin-bottom:4px;
+}
+.x-form-item label {
+    display:block;
+    float:left;
+    width:100px;
+    padding:3px;
+    padding-left:0;
+    clear:left;
+    z-index:2;
+    position:relative;
+}
+.x-form-element {
+    padding-left:105px;
+    position: relative;
+}
+.x-form-invalid-msg {
+    padding:2px;
+    padding-left:18px;
+    background: transparent no-repeat 0 2px;
+    line-height:16px;
+    width:200px;
+}
+.x-form-label-left label {
+   text-align:left;
+}
+.x-form-label-right label {
+   text-align:right;
+}
+.x-form-label-top .x-form-item label {
+    width:auto;
+    float:none;
+    clear:none;
+    display:inline;
+    margin-bottom:4px;
+    position:static;
+}
+.x-form-label-top .x-form-element {
+    padding-left:0;
+    padding-top:4px;
+}
+.x-form-label-top .x-form-item {
+    padding-bottom:4px;
+}
+.x-small-editor .x-form-text {
+    height:20px;
+    line-height:16px;
+    vertical-align:middle;
+}
+.ext-ie6 .x-small-editor .x-form-text, .ext-ie7 .x-small-editor .x-form-text {
+    height:20px !important;  
+    line-height:16px !important;
+}
+
+.ext-strict .x-small-editor .x-form-text {
+    height:16px !important;
+}
+
+.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;
+    position:absolute;
+    left:0;
+    top:0;
+    display:block;
+    background:transparent no-repeat 0 2px;
+}
+.x-fieldset {
+    border:1px solid;
+    padding:10px;
+    margin-bottom:10px;
+    display:block;  
+}
+.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 1px 0 1px !important;
+    border-left-color: transparent;
+    border-right-color: transparent;
+}      
+.ext-ie6 fieldset.x-panel-collapsed{
+    padding-bottom:0 !important;
+    border-width: 1px 0 0 0 !important;
+    margin-left: 1px;
+    margin-right: 1px;
+}
+fieldset.x-panel-collapsed .x-fieldset-bwrap {
+    visibility:hidden;
+    position:absolute;
+    left:-1000px;
+    top:-1000px;
+}
+.ext-ie .x-fieldset-bwrap {
+    zoom:1;
+}
+.x-fieldset-noborder {
+    border:0px 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:16px;
+}
+.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;
+}
+/* make top of checkbox/tools visible in webkit */
+.ext-webkit .x-fieldset-header {
+    padding-top: 1px;
+}
+.x-fieldset-bwrap {
+    overflow:hidden;
+    zoom:1;
+}
+.x-fieldset-body {
+    overflow:hidden;
+}\r
+\r
+.x-combo-list .x-combo-selected {\r
+  border-color: #a3bae9 !important;\r
+}\r
+\r
+.x-combo-list {\r
+  background-color: white !important;\r
+}\r
+\r
+.ext-gecko .x-form-file {\r
+  height: inherit !important;\r
+}\r
+\r
+.x-form-check {\r
+  background: none !important\r
+}\r
+\r
+.x-form-radio {\r
+  background: none !important\r
+}\r
+\r
+.x-form-label {\r
+  padding: 2px 3px 3px 0px;\r
+  font-size: 12px;\r
+}\r
+\r
+.x-form-label-top .x-form-item {\r
+  padding-bottom: 0px;\r
+  margin-bottom: 2px;\r
+}\r
+\r
+.ext-safari .x-form-text {\r
+  height: 22px; /* safari always same size */\r
+  padding: 0 3px; /* remove extra top/bottom padding */\r
+}\r
+\r
+.ext-safari .x-small-editor .x-form-text {\r
+  height: 20px;\r
+}\r
+\r
+.x-form-group .x-form-check-wrap {\r
+  float: left;\r
+  padding-right: 2px;\r
+}\r
+\r
+.x-form-group .x-form-check-wrap .x-form-group-label {\r
+  float: left;\r
+}\r
+\r
+.x-form-group .x-form-radio-wrap {\r
+  float: left;\r
+  padding-right: 2px;\r
+}\r
+\r
+.x-form-group-label,.x-form-cb-label {\r
+  font: normal 12px tahoma, arial, helvetica, sans-serif;\r
+  padding-right: 10px;\r
+}\r
+\r
+.x-form-list {\r
+  background: #FFFFFF url(../images/default/form/text-bg.gif) repeat-x scroll 0 0;\r
+  border: 1px solid #B5B8C8;\r
+}\r
+\r
+/*\r
+ * FileUploadField component styles\r
+ */\r
+.x-form-file-wrap {\r
+  height: 22px;\r
+}
+
+.ext-ie .x-form-file-wrap {
+  height: 20px;
+}
+\r
+\r
+.x-form-file-wrap .x-form-file {\r
+  position: absolute;\r
+  right: 0;\r
+  -moz-opacity: 0;\r
+  filter: alpha(opacity :     0);\r
+  opacity: 0;\r
+  z-index: 2;\r
+  height: 22px;\r
+}\r
+\r
+.x-form-file-wrap .x-form-file-btn {\r
+  position: absolute;\r
+  right: 0;\r
+  z-index: 1;\r
+}\r
+\r
+.x-form-file-wrap .x-form-file-text {\r
+  position: absolute;\r
+  left: 0;\r
+  z-index: 3;\r
+  color: #777;\r
+}\r
+\r
+.x-form-invalid-icon {\r
+  background-position: 0 0 !important;\r
+}
+
+.x-triggerfield-noedit{
+    cursor:pointer;
+}
+.x-btn{
+       cursor:pointer;
+       white-space: nowrap;
+}
+.x-btn button{
+    border:0 none;
+    background:transparent;
+    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-ie .x-item-disabled .x-btn-mc img {
+       filter: alpha(opacity=60);
+}
+.ext-gecko .x-btn button,.ext-webkit .x-btn button {
+    padding-left:0;
+    padding-right:0;
+}
+.ext-gecko .x-btn button::-moz-focus-inner {
+    padding:0;
+}
+.ext-ie .x-btn button {
+    padding-top:2px;
+}
+.x-btn td {
+    padding:0 !important;
+}
+.x-btn-text {
+    cursor:pointer;
+       white-space: nowrap;
+    padding:0;
+}
+.x-btn-noicon .x-btn-small .x-btn-text{
+       height: 16px;
+}
+.x-btn-noicon .x-btn-medium .x-btn-text{
+    height: 24px;
+}
+.x-btn-noicon .x-btn-large .x-btn-text{
+    height: 32px;
+}
+.x-btn-icon .x-btn-text{
+    background-position: center;
+       background-repeat: no-repeat;
+}
+.x-btn-icon .x-btn-small .x-btn-text{
+       height: 16px;
+       width: 16px;
+}
+.x-btn-icon .x-btn-medium .x-btn-text{
+    height: 24px;
+       width: 24px;
+}
+.x-btn-icon .x-btn-large .x-btn-text{
+    height: 32px;
+       width: 32px;
+}
+.x-btn-text-icon .x-btn-icon-small-left .x-btn-text{
+    background-position: 0 center;
+       background-repeat: no-repeat;
+    padding-left:18px;
+    height:16px;
+}
+.x-btn-text-icon .x-btn-icon-medium-left .x-btn-text{
+    background-position: 0 center;
+       background-repeat: no-repeat;
+    padding-left:26px;
+    height:24px;
+}
+.x-btn-text-icon .x-btn-icon-large-left .x-btn-text{
+    background-position: 0 center;
+       background-repeat: no-repeat;
+    padding-left:34px;
+    height:32px;
+}
+.x-btn-text-icon .x-btn-icon-small-top .x-btn-text{
+    background-position: center 0;
+       background-repeat: no-repeat;
+    padding-top:18px;
+}
+.x-btn-text-icon .x-btn-icon-medium-top .x-btn-text{
+    background-position: center 0;
+       background-repeat: no-repeat;
+    padding-top:26px;
+}
+.x-btn-text-icon .x-btn-icon-large-top .x-btn-text{
+    background-position: center 0;
+       background-repeat: no-repeat;
+    padding-top:34px;
+}
+.x-btn-text-icon .x-btn-icon-small-right .x-btn-text{
+    background-position: right center;
+       background-repeat: no-repeat;
+    padding-right:18px;
+    height:16px;
+}
+.x-btn-text-icon .x-btn-icon-medium-right .x-btn-text{
+    background-position: right center;
+       background-repeat: no-repeat;
+    padding-right:26px;
+    height:24px;
+}
+.x-btn-text-icon .x-btn-icon-large-right .x-btn-text{
+    background-position: right center;
+       background-repeat: no-repeat;
+    padding-right:34px;
+    height:32px;
+}
+.x-btn-text-icon .x-btn-icon-small-bottom .x-btn-text{
+    background-position: center bottom;
+       background-repeat: no-repeat;
+    padding-bottom:18px;
+}
+.x-btn-text-icon .x-btn-icon-medium-bottom .x-btn-text{
+    background-position: center bottom;
+       background-repeat: no-repeat;
+    padding-bottom:26px;
+}
+.x-btn-text-icon .x-btn-icon-large-bottom .x-btn-text{
+    background-position: center bottom;
+       background-repeat: no-repeat;
+    padding-bottom:34px;
+}
+.x-btn-tr i, .x-btn-tl i, .x-btn-mr i, .x-btn-ml i, .x-btn-br i, .x-btn-bl i{
+       font-size:1px;
+    line-height:1px;
+    width:3px;
+    display:block;
+    overflow:hidden;
+}
+.x-btn-tr i, .x-btn-tl i, .x-btn-br i, .x-btn-bl i{
+       height:3px;
+}
+.x-btn-tl{
+       width:3px;
+       height:3px;
+       background:no-repeat 0 0;
+}
+.x-btn-tr{
+       width:3px;
+       height:3px;
+       background:no-repeat -3px 0;
+}
+.x-btn-tc{
+       height:3px;
+       background:repeat-x 0 -6px;
+}
+.x-btn-ml{
+       width:3px;
+       background:no-repeat 0 -24px;
+}
+.x-btn-mr{
+       width:3px;
+       background:no-repeat -3px -24px;
+}
+.x-btn-mc{
+       background:repeat-x 0 -1096px;
+    vertical-align: middle;
+       text-align:center;
+       padding:0 5px;
+       cursor:pointer;
+       white-space:nowrap;
+}
+.x-btn-bl{
+       width:3px;
+       height:3px;
+       background:no-repeat 0 -3px;
+}
+.x-btn-br{
+       width:3px;
+       height:3px;
+       background:no-repeat -3px -3px;
+}
+.x-btn-bc{
+       height:3px;
+       background:repeat-x 0 -15px;
+}
+.x-btn-over .x-btn-tl{
+       background-position: -6px 0;
+}
+.x-btn-over .x-btn-tr{
+       background-position: -9px 0;
+}
+.x-btn-over .x-btn-tc{
+       background-position: 0 -9px;
+}
+.x-btn-over .x-btn-ml{
+       background-position: -6px -24px;
+}
+.x-btn-over .x-btn-mr{
+       background-position: -9px -24px;
+}
+.x-btn-over .x-btn-mc{
+       background-position: 0 -2168px;
+}
+.x-btn-over .x-btn-bl{
+       background-position: -6px -3px;
+}
+.x-btn-over .x-btn-br{
+       background-position: -9px -3px;
+}
+.x-btn-over .x-btn-bc{
+       background-position: 0 -18px;
+}
+.x-btn-click .x-btn-tl, .x-btn-menu-active .x-btn-tl, .x-btn-pressed .x-btn-tl{
+       background-position: -12px 0;
+}
+.x-btn-click .x-btn-tr, .x-btn-menu-active .x-btn-tr, .x-btn-pressed .x-btn-tr{
+       background-position: -15px 0;
+}
+.x-btn-click .x-btn-tc, .x-btn-menu-active .x-btn-tc, .x-btn-pressed .x-btn-tc{
+       background-position: 0 -12px;
+}
+.x-btn-click .x-btn-ml, .x-btn-menu-active .x-btn-ml, .x-btn-pressed .x-btn-ml{
+       background-position: -12px -24px;
+}
+.x-btn-click .x-btn-mr, .x-btn-menu-active .x-btn-mr, .x-btn-pressed .x-btn-mr{
+       background-position: -15px -24px;
+}
+.x-btn-click .x-btn-mc, .x-btn-menu-active .x-btn-mc, .x-btn-pressed .x-btn-mc{
+       background-position: 0 -3240px;
+}
+.x-btn-click .x-btn-bl, .x-btn-menu-active .x-btn-bl, .x-btn-pressed .x-btn-bl{
+       background-position: -12px -3px;
+}
+.x-btn-click .x-btn-br, .x-btn-menu-active .x-btn-br, .x-btn-pressed .x-btn-br{
+       background-position: -15px -3px;
+}
+.x-btn-click .x-btn-bc, .x-btn-menu-active .x-btn-bc, .x-btn-pressed .x-btn-bc{
+       background-position: 0 -21px;
+}
+.x-btn-disabled *{
+       cursor:default !important;
+}
+.x-btn-mc em.x-btn-arrow {
+    display:block;
+    background:transparent no-repeat right center;
+       padding-right:10px;
+}
+.x-btn-mc em.x-btn-split {
+    display:block;
+    background:transparent no-repeat right center;
+       padding-right:14px;
+}
+.x-btn-mc em.x-btn-arrow-bottom {
+    display:block;
+    background:transparent no-repeat center bottom;
+       padding-bottom:14px;
+}
+.x-btn-mc em.x-btn-split-bottom {
+    display:block;
+    background:transparent no-repeat center bottom;
+       padding-bottom:14px;
+}
+.x-btn-as-arrow .x-btn-mc em {
+    display:block;
+    background:transparent;
+       padding-bottom:14px;
+}
+.x-btn-group {
+    padding:1px;
+}
+.x-btn-group-header {
+    padding:2px;
+    text-align:center;
+}
+.x-btn-group-tc {
+       background: transparent repeat-x 0 0;
+       overflow:hidden;
+}
+.x-btn-group-tl {
+       background: transparent no-repeat 0 0;
+       padding-left:3px;
+    zoom:1;
+}
+.x-btn-group-tr {
+       background: transparent no-repeat right 0;
+       zoom:1;
+    padding-right:3px;
+}
+.x-btn-group-bc {
+       background: transparent repeat-x 0 bottom;
+    zoom:1;
+}
+.x-btn-group-bc .x-panel-footer {
+    zoom:1;
+}
+.x-btn-group-bl {
+       background: transparent no-repeat 0 bottom;
+       padding-left:3px;
+    zoom:1;
+}
+.x-btn-group-br {
+       background: transparent no-repeat right bottom;
+       padding-right:3px;
+    zoom:1;
+}
+.x-btn-group-mc {
+    border:0 none;
+    padding:1px 0 0 0;
+    margin:0;
+}
+.x-btn-group-mc .x-btn-group-body {
+    background:transparent;
+    border: 0 none;
+}
+.x-btn-group-ml {
+       background: transparent repeat-y 0 0;
+       padding-left:3px;
+    zoom:1;
+}
+.x-btn-group-mr {
+       background: transparent repeat-y right 0;
+       padding-right:3px;
+    zoom:1;
+}
+.x-btn-group-bc .x-btn-group-footer {
+    padding-bottom:6px;
+}
+.x-panel-nofooter .x-btn-group-bc {
+       height:3px;
+    font-size:0;
+    line-height:0;
+}
+.x-btn-group-bwrap {
+    overflow:hidden;
+    zoom:1;
+}
+.x-btn-group-body {
+    overflow:hidden;
+    zoom:1;
+}
+.x-btn-group-notitle .x-btn-group-tc {
+       background: transparent repeat-x 0 0;
+       overflow:hidden;
+    height:2px;
+}
+.x-toolbar{
+    border-style:solid;
+    border-width:0 0 1px 0;
+    display: block;
+       padding:2px;
+    background:repeat-x top left;
+    position:relative;
+    left:0;
+    top:0;
+    zoom:1;
+    overflow:hidden;
+}
+.x-toolbar .x-item-disabled .x-btn-icon {
+    opacity: .35;
+    -moz-opacity: .35;
+    filter: alpha(opacity=35);
+}
+.x-toolbar td {
+       vertical-align:middle;
+}
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
+       white-space: nowrap;
+}
+.x-toolbar .x-item-disabled {
+       cursor:default;
+       opacity:.6;
+       -moz-opacity:.6;
+       filter:alpha(opacity=60);
+}
+
+.x-toolbar .x-item-disabled *{
+       cursor:default;
+}
+
+.x-toolbar .x-toolbar-cell {
+    vertical-align:middle;
+}
+.x-toolbar .x-btn-tl, .x-toolbar .x-btn-tr, .x-toolbar .x-btn-tc, .x-toolbar .x-btn-ml, .x-toolbar .x-btn-mr, 
+.x-toolbar .x-btn-mc, .x-toolbar .x-btn-bl, .x-toolbar .x-btn-br, .x-toolbar .x-btn-bc
+{
+       background-position: 500px 500px;
+}
+.x-toolbar .x-btn-over .x-btn-tl{
+       background-position: -6px 0;
+}
+.x-toolbar .x-btn-over .x-btn-tr{
+       background-position: -9px 0;
+}
+.x-toolbar .x-btn-over .x-btn-tc{
+       background-position: 0 -9px;
+}
+.x-toolbar .x-btn-over .x-btn-ml{
+       background-position: -6px -24px;
+}
+.x-toolbar .x-btn-over .x-btn-mr{
+       background-position: -9px -24px;
+}
+.x-toolbar .x-btn-over .x-btn-mc{
+       background-position: 0 -2168px;
+}
+.x-toolbar .x-btn-over .x-btn-bl{
+       background-position: -6px -3px;
+}
+.x-toolbar .x-btn-over .x-btn-br{
+       background-position: -9px -3px;
+}
+.x-toolbar .x-btn-over .x-btn-bc{
+       background-position: 0 -18px;
+}
+.x-toolbar .x-btn-click .x-btn-tl, .x-toolbar .x-btn-menu-active .x-btn-tl, .x-toolbar .x-btn-pressed .x-btn-tl{
+       background-position: -12px 0;
+}
+.x-toolbar .x-btn-click .x-btn-tr, .x-toolbar .x-btn-menu-active .x-btn-tr, .x-toolbar .x-btn-pressed .x-btn-tr{
+       background-position: -15px 0;
+}
+.x-toolbar .x-btn-click .x-btn-tc, .x-toolbar .x-btn-menu-active .x-btn-tc, .x-toolbar .x-btn-pressed .x-btn-tc{
+       background-position: 0 -12px;
+}
+.x-toolbar .x-btn-click .x-btn-ml, .x-toolbar .x-btn-menu-active .x-btn-ml, .x-toolbar .x-btn-pressed .x-btn-ml{
+       background-position: -12px -24px;
+}
+.x-toolbar .x-btn-click .x-btn-mr, .x-toolbar .x-btn-menu-active .x-btn-mr, .x-toolbar .x-btn-pressed .x-btn-mr{
+       background-position: -15px -24px;
+}
+.x-toolbar .x-btn-click .x-btn-mc, .x-toolbar .x-btn-menu-active .x-btn-mc, .x-toolbar .x-btn-pressed .x-btn-mc{
+       background-position: 0 -3240px;
+}
+.x-toolbar .x-btn-click .x-btn-bl, .x-toolbar .x-btn-menu-active .x-btn-bl, .x-toolbar .x-btn-pressed .x-btn-bl{
+       background-position: -12px -3px;
+}
+.x-toolbar .x-btn-click .x-btn-br, .x-toolbar .x-btn-menu-active .x-btn-br, .x-toolbar .x-btn-pressed .x-btn-br{
+       background-position: -15px -3px;
+}
+.x-toolbar .x-btn-click .x-btn-bc, .x-toolbar .x-btn-menu-active .x-btn-bc, .x-toolbar .x-btn-pressed .x-btn-bc{
+       background-position: 0 -21px;
+}
+.x-toolbar div.xtb-text{
+    padding:2px 2px 0;
+    line-height:16px;
+    display:block;
+}
+.x-toolbar .xtb-sep {
+       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 .xtb-spacer {
+    width:2px;
+}
+.x-tbar-page-number{
+       width:24px;
+       height:14px;
+}
+.x-paging-info {
+    position:absolute;
+    top:5px;
+    right: 8px;
+}
+.x-toolbar-ct {
+    width:100%;
+}
+.x-panel-tbar, .x-panel-bbar, .x-window-tbar, .x-window-bbar, .x-tab-panel-tbar, .x-tab-panel-bbar, .x-plain-tbar, .x-plain-bbar {
+    overflow:hidden;
+    zoom:1;
+}
+.x-toolbar-more .x-btn-small .x-btn-text{
+       height: 16px;
+       width: 12px;
+}
+.x-toolbar-more em.x-btn-arrow {
+    display:inline;
+    background:transparent;
+       padding-right:0;
+}
+.x-toolbar-more .x-btn-mc em.x-btn-arrow {
+    background-image: none;
+}
+div.x-toolbar-no-items {
+    color:gray !important;
+    padding:5px 10px !important;
+}.x-resizable-handle {
+    position:absolute;
+    z-index:100;
+    font-size:1px;
+    line-height:6px;
+    overflow:hidden;
+       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,
+.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west
+{
+       background-position: left;
+}
+.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south,
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north
+{
+    background-position: top;
+}
+.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
+    background-position: top left;
+}
+.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
+    background-position:bottom right;
+}
+.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
+    background-position: bottom left;
+}
+.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
+    background-position: top right;
+}
+.x-resizable-proxy{
+    border: 1px dashed;
+    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;
+       z-index:200000;
+       -moz-opacity: 0;
+    opacity:0;
+    filter: alpha(opacity=0);
+}
+.x-grid3 {
+  position: relative;
+  overflow: hidden;
+}
+
+.x-grid-panel .x-panel-body {
+  overflow: hidden !important;
+}
+
+.x-grid-panel .x-panel-mc .x-panel-body {
+  border: 1px solid;
+}
+
+.x-grid3 .x-grid3-row-table {
+  table-layout: fixed;
+}
+
+.x-grid3-viewport {
+  overflow: hidden;
+}
+
+.x-grid3-hd-row .x-grid3-hd,.x-grid3-row .x-grid3-hd,.x-grid3-summary-row .x-grid3-hd {
+  -moz-outline: none;
+  -moz-user-focus: normal;
+}
+
+.x-grid3-row,.x-grid3-summary-row{
+  -moz-user-select: none;
+  -khtml-user-select: none;
+  -webkit-user-select: ignore;
+}
+
+.x-grid3-row td.x-grid3-cell,.x-grid3-summary-row td.x-grid3-cell {
+  line-height: 13px;
+  vertical-align: top;
+  padding-left: 1px;
+  padding-right: 1px;
+  -moz-outline: none;
+}
+
+.x-grid3-hd-row .x-grid3-hd {
+  line-height: 15px;
+  vertical-align: middle;
+  border-left: 1px solid;
+  border-right: 1px solid;
+}
+
+.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;
+  vertical-align: middle;
+}
+
+.ext-ie .x-grid3-hd-inner {
+  position: static;
+}
+
+.x-grid3-row-body {
+  white-space: normal;
+  font-size: 11px;
+}
+
+.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: no-repeat center center;
+}
+
+.x-grid-page {
+  overflow: hidden;
+}
+
+.x-grid3-row {
+  cursor: default;
+  border: 1px solid;
+  width: 100%;
+}
+
+.x-grid3-row-over {
+  border: 1px solid;
+  background: repeat-x left top;
+}
+
+.x-grid3-resize-proxy {
+  width: 1px;
+  left: 0;
+  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;
+  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;
+  -webkit-user-select: ignore;
+}
+
+.x-grid3-header {
+  background: repeat-x 0 bottom;
+  cursor: default;
+  zoom: 1;
+  padding: 0px 0 0 0;
+}
+
+.x-grid3-header-pop {
+  border-left: 1px solid;
+  float: right;
+  clear: none;
+}
+
+.x-grid3-header-pop-inner {
+  border-left: 1px solid;
+  width: 14px;
+  height: 19px;
+  background: transparent 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;
+}
+
+td.x-grid3-hd-over,td.sort-desc,td.sort-asc,td.x-grid3-hd-menu-open {
+  border-left: 1px solid;
+  border-right: 1px solid;
+}
+
+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: 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,.sort-desc .x-grid3-sort-icon {
+  display: inline;
+}
+
+.ext-strict .ext-ie .x-grid3-header-inner,.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;
+}
+
+.x-grid3-split {
+  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-dd-drag-proxy .x-grid3-hd-inner {
+  background: repeat-x left bottom;
+  width: 120px;
+  padding: 3px;
+  border: 1px solid;
+  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;
+  background: transparent no-repeat left top;
+}
+
+.x-grid3-row-selected {
+  border: 1px dotted;
+}
+
+.x-grid3-locked td.x-grid3-row-marker,.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker
+  {
+  background: repeat-x 0 bottom !important;
+  vertical-align: middle !important;
+  padding: 0;
+  border-top: 1px solid;
+  border-bottom: none !important;
+  border-right: 1px solid !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;
+  text-align: center;
+}
+
+.x-grid3-dirty-cell {
+  background: transparent no-repeat 0 0;
+}
+
+.x-grid3-topbar,.x-grid3-bottombar {
+  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;
+}
+
+.x-props-grid .x-grid3-cell {
+  padding: 1px;
+}
+
+.x-props-grid .x-grid3-td-name .x-grid3-cell-inner {
+  background: transparent repeat-y -16px !important;
+  padding-left: 12px;
+}
+
+.x-props-grid .x-grid3-body .x-grid3-td-name {
+  padding: 1px;
+  padding-right: 0;
+  border: 0 none;
+  border-right: 1px solid;
+}
+
+.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;
+  -khtml-user-select: none;
+  -webkit-user-select: ignore;
+}
+
+.x-grid3-hd-btn {
+  display: none;
+  position: absolute;
+  width: 14px;
+  background: 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 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;
+}
+
+.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 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;
+}
+.x-grid3-hd-checker {
+  padding-bottom: 0px !important; 
+}
+.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,.x-grid3-row-checked .x-grid3-row-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 repeat-y right;
+}
+
+.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
+  padding: 3px 5px 0 0 !important;
+  text-align: right;
+}
+
+.x-grid3-body .x-grid3-td-row-icon {
+  background: transparent repeat-y right;
+  vertical-align: top;
+  text-align: center;
+}
+
+.x-grid3-body .x-grid3-td-row-icon .x-grid3-cell-inner {
+  padding: 0 !important;
+  background-position: center center;
+  background-repeat: no-repeat;
+  width: 16px;
+  height: 16px;
+  margin-left: 2px;
+  margin-top: 3px;
+}
+
+.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 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;
+}
+
+.x-grid3-check-col-on {
+  width: 100%;
+  height: 16px;
+  background-position: center center;
+  background-repeat: no-repeat;
+  background-color: transparent;
+}
+
+.x-grid-group,.x-grid-group-body,.x-grid-group-hd {
+  zoom: 1;
+}
+
+.x-grid-group-hd {
+  border-bottom: 2px solid;
+  cursor: pointer;
+  padding-top: 6px;
+}
+
+.x-grid-group-hd div {
+  background: transparent no-repeat 3px -47px;
+  padding: 4px 4px 4px 17px;
+}
+
+.x-grid-group-collapsed .x-grid-group-hd div {
+  background-position: 3px 3px;
+}
+
+.x-grid-group-collapsed .x-grid-group-body {
+  display: none;
+}
+
+.x-grid-empty {
+  padding: 10px;
+}
+
+.ext-ie7 .x-grid-panel .x-panel-bbar {
+  position: relative;
+}
+
+.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
+  padding-right: 0;
+  border-right: 1px solid;
+}
+
+.ext-ie6 .x-grid3-header {
+  position: relative;
+}
+
+.x-grid3-check-col-disabled {
+  width: 100%;
+  height: 16px;
+  background-position: center center;
+  background-repeat: no-repeat;
+}
+
+.x-row-editor-header {
+  height: 2px;
+  overflow: hidden;
+}
+.x-row-editor-footer {
+  height: 2px;
+  overflow: hidden;
+}
+
+.ext-ie8 .x-row-editor .x-form-field-wrap .x-form-text, .ext-ie8-compatibility .x-row-editor .x-form-field-wrap .x-form-text {
+  margin: -1px 0;
+}
+.ext-ie .x-row-editor-footer {
+  margin-top: -1px;
+}
+
+.x-row-editor-body {
+  overflow: hidden;
+  zoom: 1;
+  padding-top: 2px;
+}
+
+.x-row-editor .x-btns {
+  position: absolute;
+  top: 28px;
+  left: 20px;
+  padding-left: 5px;
+}
+
+.x-row-editor .x-btns .x-plain-bwrap {
+  padding-right: 5px;
+}
+
+.x-row-editor .x-btns .x-plain-body {
+  height: 31px;
+}
+
+.x-row-editor .x-btns .x-table-layout-cell {
+  padding: 3px;
+}
+
+.x-grid3-footer {
+  background: #f7f7f7 none repeat scroll 0 0;
+  border-top: 1px solid #DDDDDD;
+  border-bottom: 1px solid #DDDDDD;
+  display: block;
+  overflow: hidden;
+  position: relative;
+}
+
+.x-grid3-footer-row {
+  border-top: 1px solid #EEEEEE;
+  background-color: #f7f7f7;
+  -moz-user-select: none;
+  -khtml-user-select: none;
+  -webkit-user-select: ignore;
+}
+
+.x-grid3-footer-row td {
+  line-height: 13px;
+  vertical-align: top;
+  padding-left: 1px;
+  padding-right: 1px;
+  font: normal 11px arial, tahoma, helvetica, sans-serif;
+}.x-dd-drag-proxy{
+       position:absolute;
+       left:0;
+    top:0;
+       visibility:hidden;
+       z-index:15000;
+}
+.x-dd-drag-ghost{
+       -moz-opacity: 0.85;
+    opacity:.85;
+    filter: alpha(opacity=85);
+    border: 1px solid;
+       padding:3px;
+       padding-left:20px;
+       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-view-selector {
+    position:absolute;
+    left:0;
+    top:0;
+    width:0;
+    border:1px dotted;
+       opacity: .5;
+    -moz-opacity: .5;
+    filter:alpha(opacity=50);
+    zoom:1;
+}
+
+.x-dd-cursor {
+  cursor: default !important; 
+}
+
+.x-insert-bar {
+  position: absolute;
+
+  z-index: 99999;
+}
+
+.x-insert-bar td {
+  line-height: 1px;
+  font-size: 1px;
+}
+
+.x-insert-left {
+  background: url(../images/gxt/dd/insert-bg.gif) no-repeat;
+}
+
+.x-insert-mid {
+  background: url(../images/gxt/dd/insert-bg.gif) repeat-x 0 -12px;
+}
+
+.x-insert-right {
+  background: url(../images/gxt/dd/insert-bg.gif) no-repeat 0px -6px;
+}
+.tree-folder {
+       background: url(../images/gxt/icons/folder-closed.gif) no-repeat center
+               left !important;
+}
+
+.tree-folder-open {
+       background: url(../images/gxt/icons/folder.gif) no-repeat center left
+               !important;
+}
+
+.my-tree {
+       cursor: default;
+       font-size: 11px;
+       -moz-outline: none;
+       -moz-user-focus: none;
+}
+
+.my-root-item {
+       padding: 4px;
+}
+
+.my-tree-item,.my-tree-item table,.my-tree-item table td {
+       -moz-outline: none;
+       -moz-user-focus: normal;
+       font-size: 11px;
+}
+
+.my-tree-item td {
+       height: 19px;
+}
+
+.my-tree-indent {
+       line-height: 1px;
+       font-size: 1px;
+}
+
+.my-tree-joint div {
+       width: 15px;
+       height: 19px;
+       line-height: 1px;
+       font-size: 1px;
+}
+
+.my-tree-left,.my-tree-left div,.my-tree-right {
+       line-height: 1px;
+       font-size: 1px;
+       width: 3px;
+}
+
+.my-tree-left div,.my-tree-right div {
+       width: 3px;
+}
+
+.my-tree-item,.my-treeitem-wrap {
+       -moz-outline: none;
+       -moz-user-focus: normal;
+}
+
+.my-tree-check div {
+       width: 17px;
+       height: 17px;
+       line-height: 1px;
+       font-size: 1px;
+}
+
+.my-tree-icon div {
+       width: 16px;
+       height: 17px;
+       cursor: pointer;
+       background-repeat: no-repeat;
+       background-position: center;
+}
+
+.my-tree-item-text span {
+       font-family: arial, tahoma, helvetica, sans-serif;
+       font-size: 12px;
+       white-space: nowrap;
+       padding-left: 3px;
+       padding-right: 3px;
+       display: block;
+       height: 15px;
+       cursor: pointer;
+}
+
+.my-tree-over .my-tree-left {
+       background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left
+               -57px;
+}
+
+.my-tree-over .my-tree-right {
+       background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right
+               -76px;
+}
+
+.my-tree-over .my-tree-check,.my-tree-over .my-tree-icon,.my-tree-over .my-tree-item-text
+       {
+       background: url(../images/gxt/shared/select-19-bg.gif) left -95px;
+}
+
+.my-tree-sel .my-tree-left {
+       background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left
+               0px;
+}
+
+.my-tree-sel .my-tree-right {
+       background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right
+               -19px;
+}
+
+.my-tree-sel .my-tree-check,.my-tree-sel .my-tree-icon,.my-tree-sel .my-tree-item-text
+       {
+       background: url(../images/gxt/shared/select-19-bg.gif) left -38px;
+}
+
+.my-tree-drop .my-tree-left {
+       background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left
+               -115px;
+}
+
+.my-tree-drop .my-tree-right {
+       background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right
+               -133px;
+}
+
+.my-tree-drop .my-tree-check,.my-tree-drop .my-tree-icon,.my-tree-drop .my-tree-item-text
+       {
+       background: url(../images/gxt/shared/select-19-bg.gif) left -152px;
+}
+
+.my-tree-close {
+       background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+               1px;
+}
+
+.my-tree-open {
+       background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+               -32px;
+}
+
+.my-tree-joint-over  .my-tree-open {
+       background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+               -48px;
+}
+
+.my-tree-joint-over .my-tree-close {
+       background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px
+               -15px;
+}
+
+.my-tree-notchecked {
+       background: url(../images/gxt/tree/notchecked.gif) no-repeat 0px 50%;
+}
+
+.my-tree-checked {
+       background: url(../images/gxt/tree/checked.gif) no-repeat 0px 50%;
+}
+
+.my-tree-loading .tree-folder {
+       background: url(../images/gxt/icons/wait.gif) no-repeat 0px -1px
+               !important;
+}
+
+.my-tree-loading .my-tree-item-text span {
+       font-style: italic;
+}
+
+.x-ftree-selected .x-ftree-text {
+       background-color: #d9e8fb;
+}
+
+.x-ftree-node-over .x-ftree-text {
+       background-color: #eee;
+}
+
+.x-ftree-item {
+       line-height: 18px;
+}
+
+.x-ftree-joint,.x-ftree-icon {
+       border: 0 none;
+       height: 18px;
+       margin: 0;
+       padding: 0;
+       vertical-align: top;
+       width: 16px;
+       background-position: center;
+       background-repeat: no-repeat;
+}
+
+.x-ftree-text {
+       color: black;
+       font: normal 11px arial, tahoma, helvetica, sans-serif;
+       white-space: nowrap;
+       text-decoration: none;
+       color: black;
+       padding-left: 4px;
+       vertical-align: middle;
+       line-height: 18px;
+       padding: 2px 4px 4px 4px;
+}
+
+/* some default icons for leaf/folder */
+.x-ftree-expanded .x-ftree-icon {
+       background-image: url(../images/default/tree/folder-open.gif);
+}
+
+.x-ftree-leaf .x-ftree-icon {
+       background-image: url(../images/default/tree/leaf.gif);
+}
+
+.x-ftree-collapsed .x-ftree-icon {
+       background-image: url(../images/gxt/icons/folder-closed.gif);
+}
+
+/* Arrows */
+.x-ftree-arrows .x-ftree-joint {
+       background: transparent;
+}
+
+.x-ftree-arrows .x-ftree-joint-plus {
+       background: transparent url(../images/default/tree/arrows.gif) no-repeat
+               0 0;
+}
+
+.x-ftree-arrows .x-ftree-joint-minus {
+       background: transparent url(../images/default/tree/arrows.gif) no-repeat
+               -16px 0;
+}
+
+.x-ftree-arrows .x-ftree-ec-over .x-ftree-joint-plus {
+       background-position: -32px 0;
+}
+
+.x-ftree-arrows .x-ftree-ec-over .x-ftree-joint-minus {
+       background-position: -48px 0;
+}
+
+.x-ftree2-selected {
+       background-color: #d9e8fb !important;
+}
+
+.x-ftree2-node-over {
+       background-color: #eee;
+}
+
+.x-ftree2-node-drop {
+       background-color: #defadc;
+}
+
+.x-ftree2-joint,.x-ftree2-icon {
+       border: 0 none;
+       height: 18px;
+       margin: 0;
+       padding: 0;
+       vertical-align: top;
+       width: 16px;
+       background-position: center;
+       background-repeat: no-repeat;
+}
+
+.x-ftree2-joint div {
+       width: 16px;
+}
+
+.x-ftree2-el-ct {
+       display: none;
+}
+
+.x-ftree2-node {
+       padding-bottom: 1px;
+}
+
+.x-ftree2-text {
+       vertical-align: middle !important;
+       white-space: nowrap !important;
+}
+
+.x-ftree2-text span {
+       color: black;
+       font: normal 11px arial, tahoma, helvetica, sans-serif;
+       white-space: nowrap;
+       text-decoration: none;
+       color: black;
+       padding: 2px 4px 2px 1px;
+       display: block;
+}
+
+.ext-ie .x-ftree2-text span {
+       padding-left: 3px;
+}
+
+.x-ftree2-check {
+       width: 17px;
+}
+
+.x-ftree2-check div {
+       width: 17px;
+       height: 17px;
+}
+
+/* some default icons for leaf/folder */
+.x-ftree2-expanded .x-ftree2-icon {
+       background-image: url(../images/default/tree/folder-open.gif);
+}
+
+.x-ftree2-leaf .x-ftree2-icon {
+       background-image: url(../images/default/tree/leaf.gif);
+}
+
+.x-ftree2-collapsed .x-ftree2-icon {
+       background-image: url(../images/gxt/icons/folder-closed.gif);
+}
+
+/* Arrows */
+.x-ftree2-arrows .x-ftree2-joint {
+       background: transparent;
+}
+
+.x-ftree2-arrows .x-ftree2-joint-plus {
+       background: transparent url(../images/default/tree/arrows.gif) no-repeat
+               0 0;
+}
+
+.x-ftree2-arrows .x-ftree2-joint-minus {
+       background: transparent url(../images/default/tree/arrows.gif) no-repeat
+               -16px 0;
+}
+
+.x-ftree2-arrows .x-ftree2-ec-over .x-ftree2-joint-plus {
+       background-position: -32px 0;
+}
+
+.x-ftree2-arrows .x-ftree2-ec-over .x-ftree2-joint-minus {
+       background-position: -48px 0;
+}
+
+.x-treegrid {
+       -moz-outline: none;
+       -moz-user-focus: none;
+}
+
+.x-treegrid .x-treegrid-column .x-grid3-cell-inner {
+       padding: 0px !important;
+}
+
+.x-tree3 {
+       cursor: default;
+       -moz-outline: none;
+       -moz-user-focus: none;
+}
+
+.x-tree3-node {
+       cursor: default;
+}
+
+.x-tree3-el {
+       white-space: nowrap;
+       height: 21px;
+       position: relative;
+}
+
+.x-tree3-node-text {
+       white-space: nowrap;
+       line-height: 11px;
+       text-decoration: none;
+       padding: 0 0 0 3px;
+       position: relative;
+       top: -4px;
+}
+
+.x-tree3-node-ct {
+       display: none;
+}
+
+.x-tree3-node-text-widget {
+       position: static !important;
+       padding: 0px !important;
+}.x-date-picker {
+    border: 1px solid;
+    border-top:0 none;
+       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: repeat-x 0 -83px;
+       overflow:hidden;
+}
+.x-date-middle .x-btn-tc,.x-date-middle .x-btn-tl,.x-date-middle .x-btn-tr,
+.x-date-middle .x-btn-mc,.x-date-middle .x-btn-ml,.x-date-middle .x-btn-mr,
+.x-date-middle .x-btn-bc,.x-date-middle .x-btn-bl,.x-date-middle .x-btn-br{
+       background:transparent !important;
+    vertical-align:middle;
+}
+.x-date-middle .x-btn-mc em.x-btn-arrow {
+    background:transparent 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 {
+    margin-right:2px;
+    text-decoration:none !important;
+}
+.x-date-left a{
+    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: repeat-x left top;
+    text-align:right !important;
+       border-bottom: 1px solid;
+       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;
+       text-align:right;
+    padding:0;
+}
+.x-date-inner a {
+    padding:2px 5px;
+    display:block;
+       text-decoration:none;
+    text-align:right;
+    zoom:1;
+}
+.x-date-inner .x-date-active{
+       cursor:pointer;
+       color:black;
+}
+.x-date-inner .x-date-selected a{
+       background: repeat-x left top;
+       border:1px solid;
+    padding:1px 4px;
+}
+.x-date-inner .x-date-today a{
+       border: 1px solid;
+    padding:1px 4px;
+}
+.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a {
+    text-decoration:none !important;
+}
+.x-date-bottom {
+    padding:4px;
+    border-top: 1px solid;
+    background: repeat-x left top;
+}
+.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{
+    text-decoration:none !important;
+}
+.x-date-inner .x-date-disabled a {
+       cursor:default;
+}
+.x-date-mmenu .x-menu-item {
+       padding:1px 24px 1px 4px;
+       white-space: nowrap;
+}
+.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;
+       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;
+       border:1px solid;
+       padding:1px 3px 1px;
+       cursor:pointer;
+}
+.x-date-mp-btns {
+       background: repeat-x left top;
+}
+.x-date-mp-btns td {
+       border-top: 1px solid;
+    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;
+}
+td.x-date-mp-month a:hover,td.x-date-mp-year a:hover {
+       text-decoration:none;
+       cursor:pointer;
+}
+td.x-date-mp-sel a {
+       padding:1px 3px;
+       background: repeat-x left top;
+       border:1px solid;
+}
+.x-date-mp-ybtn a {
+    overflow:hidden;
+    width:15px;
+    height:15px;
+    cursor:pointer;
+    background:transparent 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;
+}
+
+.x-date-picker, .x-date-picker a {
+  font-size: 11px; 
+}
+
+.x-date-right-icon {
+  background-image: url(../images/default/shared/right-btn.gif);
+  margin-right: 2px;
+  text-decoration: none !important;
+}
+
+.x-date-left-icon {
+  background-image: url(../images/default/shared/left-btn.gif);
+  margin-left: 4px;
+  text-decoration: none !important;
+}
+
+.x-date-days {
+  table-layout: fixed;
+  width: 100%;
+}
+
+.x-date-days td {
+  width: 25px;
+  border: none;
+}
+
+.x-date-days td span {
+  display: block;
+  padding: 2px 7px 2px 2px;
+}
+
+.x-date-days td {
+  background: #DFECFB url(../images/default/shared/glass-bg.gif) repeat-x scroll left top;
+  border-bottom: 1px solid #A3BAD9;
+  border-collapse: separate;
+  color: #233D6D;
+  cursor: default;
+  font-family: arial, helvetica, tahoma, sans-serif;
+  font-size: 10px;
+  font-size-adjust: none;
+  font-stretch: normal;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: normal;
+  line-height: normal;
+  padding: 0pt;
+  text-align: right !important;
+}
+
+.x-date-picker .x-date-header {
+  background: url(../images/default/shared/hd-sprite.gif) repeat-x 0 -83px;
+  height: 22px;
+  left: 10px;
+  top: 10px;
+  width: 157px;
+}
+
+.x-date-header .x-btn .x-btn-text {
+  color: #fff;
+}
+
+.x-date-picker-footer {
+  width: 100%;
+}
+
+.x-date-picker-footer td {
+  text-align: center;
+}
+
+.x-date-left {
+  background: transparent url(../images/default/shared/hd-sprite.gif) repeat-x scroll 0pt -83px;
+  color: #FFFFFF;
+  font-family: "sans serif", tahoma, verdana, helvetica;
+  font-size: 11px;
+  font-size-adjust: none;
+  font-stretch: normal;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: bold;
+  line-height: normal;
+  overflow: hidden;
+}
+
+.x-date-inner .x-date-active-hover {
+  background: #ddecfe !important;
+}
+.x-tip{
+       position: absolute;
+       top: 0;
+    left:0;
+    visibility: hidden;
+       z-index: 20000;
+    border:0 none;
+}
+.x-tip .x-tip-close{
+       height: 15px;
+       float:right;
+       width: 15px;
+    margin:0 0 2px 2px;
+    cursor:pointer;
+    display:none;
+}
+.x-tip .x-tip-tc {
+       background: transparent no-repeat 0 -62px;
+       padding-top:3px;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tip .x-tip-tl {
+       background: transparent no-repeat 0 0;
+       padding-left:6px;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tip .x-tip-tr {
+       background: transparent no-repeat right 0;
+       padding-right:6px;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tip .x-tip-bc {
+       background: transparent no-repeat 0 -121px;
+       height:3px;
+    overflow:hidden;
+}
+.x-tip .x-tip-bl {
+       background: transparent no-repeat 0 -59px;
+       padding-left:6px;
+    zoom:1;
+}
+.x-tip .x-tip-br {
+       background: transparent no-repeat right -59px;
+       padding-right:6px;
+    zoom:1;
+}
+.x-tip .x-tip-mc {
+    border:0 none;
+}
+.x-tip .x-tip-ml {
+       background: no-repeat 0 -124px;
+       padding-left:6px;
+    zoom:1;
+}
+.x-tip .x-tip-mr {
+       background: transparent 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 {
+    padding:0;
+    margin:0 0 2px 0;
+}
+.x-tip .x-tip-body {
+    margin:0 !important;
+    line-height:14px;
+    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: repeat-x 0 -12px;
+    padding-top:6px;
+}
+.x-form-invalid-tip .x-tip-bc {
+       background: repeat-x 0 -18px;
+    height:6px;
+}
+.x-form-invalid-tip .x-tip-bl {
+       background: no-repeat 0 -6px;
+}
+.x-form-invalid-tip .x-tip-br {
+       background: no-repeat right -6px;
+}
+.x-form-invalid-tip .x-tip-body {
+    padding:2px;
+}
+.x-form-invalid-tip .x-tip-body {
+    padding-left:24px;
+    background:transparent no-repeat 2px 2px;
+}
+.x-tip-anchor {
+    position: absolute;
+    width: 9px;
+    height: 10px;
+    overflow:hidden;
+    background: transparent no-repeat 0 0;
+    zoom:1;
+}
+.x-tip-anchor-bottom {
+    background-position: -9px 0;
+}
+.x-tip-anchor-right {
+    background-position: -18px 0;
+    width: 10px;
+}
+.x-tip-anchor-left {
+    background-position: -28px 0;
+    width: 10px;
+}
+.x-menu {
+  border: 1px solid;
+  z-index: 15000;
+  zoom: 1;
+  background: repeat-y;
+  -moz-outline: none;
+}
+
+.x-menu a {
+  text-decoration: none !important;
+}
+
+.ext-ie .x-menu {
+  zoom: 1;
+  overflow: hidden;
+}
+
+.x-menu-list {
+  padding: 2px;
+  background: transparent;
+  border: 0 none;
+  overflow: hidden;
+  overflow-y: hidden;
+}
+
+.ext-strict .ext-ie .x-menu-list {
+  position: relative;
+}
+
+.x-menu li {
+  line-height: 100%;
+}
+
+.x-menu li.x-menu-sep-li {
+  font-size: 1px;
+  line-height: 1px;
+}
+
+.x-menu-list-item {
+  white-space: nowrap;
+  -moz-user-select: none;
+  -khtml-user-select: none;
+   -webkit-user-select: ignore
+  display: block;
+  padding: 1px;
+}
+
+.x-menu-item-arrow {
+  background: transparent no-repeat right;
+}
+
+.x-menu-sep {
+  display: block;
+  font-size: 1px;
+  line-height: 1px;
+  margin: 2px 3px;
+  border-bottom: 1px solid;
+  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: none;
+  -khtml-user-select: none;
+   -webkit-user-select: ignore
+  overflow: hidden;
+  display: block;
+}
+
+a.x-menu-item {
+  cursor: pointer;
+  display: block;
+  line-height: 16px;
+  outline-color: -moz-use-text-color;
+  outline-style: none;
+  outline-width: 0;
+  padding: 3px 21px 3px 27px;
+  position: relative;
+  text-decoration: none;
+  white-space: nowrap;
+}
+
+.x-menu-item-active {
+  border-style: solid;
+  border-width: 1px;
+  padding: 0;
+}
+
+.x-menu-item-icon {
+  border: 0 none;
+  height: 16px;
+  padding: 0;
+  vertical-align: top;
+  width: 16px;
+  position: absolute;
+  left: 3px;
+  top: 3px;
+  margin: 0;
+  background-position: center;
+}
+
+.ext-ie .x-menu-item-icon {
+  left: -24px;
+}
+
+.ext-strict .x-menu-item-icon {
+  left: 3px;
+}
+
+.ext-ie6 .x-menu-item-icon {
+  left: -24px;
+}
+
+.ext-ie .x-menu-item-icon {
+  vertical-align: middle;
+}
+
+.x-date-menu .x-menu-list {
+  padding: 0;
+}
+
+.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;
+  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 !important;
+  padding: 0;
+}
+
+.x-menu .x-menu-scroller {
+  width: 100%;
+  background-repeat: no-repeat;
+  background-position: center;
+  height: 8px;
+  line-height: 8px;
+  cursor: pointer;
+  margin: 0;
+  padding: 0;
+}
+
+.x-menu .x-menu-scroller-active {
+  height: 6px;
+  line-height: 6px;
+}
+
+.x-menu-list-item-indent {
+  padding-left: 27px;
+}
+
+.x-menu-text {
+  
+  border-style: solid;
+  background: #D6E3F2;
+  border-color:#DAE6F4 #99bbe8 #99bbe8 #DAE6F4;
+  border-width: 1px;
+  margin:-2px -2px 0;
+  color:#15428b;
+  font:bold 10px tahoma,arial,verdana,sans-serif;
+  display:block;
+  padding:3px;
+}
+
+.x-menubar {
+  padding: 3px;
+  border-style: solid;
+  border-width: 0 0 1px 0;
+  cursor: default;
+  border-color: #a9bfd3;
+  background-color: #d0def0;
+  padding: 3px;
+  background-image: url(../images/default/toolbar/bg.gif);
+}
+
+.x-menubar-item {
+  padding: 1px 8px;
+  font: 12px arial, verdana, sans-serif;
+}
+
+.x-menubar-item-over {
+  background-color: #98c5f5;
+}
+
+.x-menubar-item-active {
+  background-color: #98c5f5;
+}.x-box-tl {
+       background: transparent no-repeat 0 0;
+    zoom:1;
+}
+.x-box-tc {
+       height: 8px;
+       background: transparent repeat-x 0 0;
+       overflow: hidden;
+}
+.x-box-tr {
+       background: transparent no-repeat right -8px;
+}
+.x-box-ml {
+       background: transparent repeat-y 0;
+       padding-left: 4px;
+       overflow: hidden;
+    zoom:1;
+}
+.x-box-mc {
+       background: repeat-x 0 -16px;
+       padding: 4px 10px;
+}
+.x-box-mc h3 {
+       margin: 0 0 4px 0;
+    zoom:1;
+}
+.x-box-mr {
+       background: transparent repeat-y right;
+       padding-right: 4px;
+       overflow: hidden;
+}
+.x-box-bl {
+       background: transparent no-repeat 0 -16px;
+    zoom:1;
+}
+.x-box-bc {
+       background: transparent repeat-x 0 -8px;
+       height: 8px;
+       overflow: hidden;
+}
+.x-box-br {
+       background: transparent 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-combo-list {
+    border:1px solid;
+    zoom:1;
+    overflow:hidden;
+}
+.x-combo-list-inner {
+    overflow:auto;
+    position:relative;  
+    zoom:1;
+    overflow-x:hidden;
+}
+.x-combo-list-hd {
+    border-bottom:1px solid;
+    padding:3px;
+}
+.x-resizable-pinned .x-combo-list-inner {
+    border-bottom:1px solid;
+}
+.x-combo-list-item {
+    padding:2px;
+    border:1px solid;
+    white-space: nowrap;
+    overflow:hidden;
+    text-overflow: ellipsis;
+}
+.x-combo-list .x-combo-selected{
+       border:1px dotted !important;
+    cursor:pointer;
+}
+.x-combo-list .x-toolbar {
+    border-top:1px solid;
+    border-bottom:0 none;
+}
+.x-panel {
+    border-style: solid;
+    border-width:0;
+}
+.x-panel-header {
+    overflow:hidden;
+    zoom:1;
+    padding:5px 3px 4px 5px;
+    border:1px solid;
+    line-height: 15px;
+    background: transparent repeat-x 0 -1px;
+}
+.x-panel-body {
+    border:1px solid;
+    border-top:0 none;
+    overflow:hidden;
+    position: relative;  
+}
+.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar {
+    border:1px solid;
+    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;
+    border-bottom: 0 none;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+    border-top:1px solid;
+}
+.x-panel-header {
+    overflow:hidden;
+    zoom:1;
+}
+.x-panel-tl .x-panel-header {
+    padding:5px 0 4px 0;
+    border:0 none;
+    background:transparent;
+    line-height: 15px;
+}
+.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 repeat-x 0 0;
+       overflow:hidden;
+}
+.ext-strict .ext-ie7 .x-panel-tc {
+    overflow: visible;
+}
+.x-panel-tl {
+       background: transparent no-repeat 0 0;
+       padding-left:6px;
+    zoom:1;
+    border-bottom:1px solid;
+}
+.x-panel-tr {
+       background: transparent no-repeat right 0;
+       zoom:1;
+    padding-right:6px;
+}
+.x-panel-bc {
+       background: transparent repeat-x 0 bottom;
+    zoom:1;
+}
+.x-panel-bc .x-panel-footer {
+    zoom:1;
+}
+.x-panel-bl {
+       background: transparent no-repeat 0 bottom;
+       padding-left:6px;
+    zoom:1;
+}
+.x-panel-br {
+       background: transparent no-repeat right bottom;
+       padding-right:6px;
+    zoom:1;
+}
+.x-panel-mc {
+    border:0 none;
+    padding:0;
+    margin:0;
+    padding-top:6px;
+}
+.x-panel-mc .x-panel-body {
+    background:transparent;
+    border: 0 none;
+}
+.x-panel-ml {
+       background: repeat-y 0 0;
+       padding-left:6px;
+    zoom:1;
+}
+.x-panel-mr {
+       background: transparent 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 * {
+    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 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 {
+    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;
+    border-top:0 none;
+    display:block;
+}
+.x-panel-ghost * {
+    cursor:move !important;
+}
+.x-panel-dd-spacer {
+    border:2px dashed;
+}
+.x-panel-btns {
+    padding:5px;
+    overflow:hidden;
+}
+.x-panel-btns-left .x-buttonbar {
+       clear:none;
+}
+.x-panel-btns-center{
+       text-align:center;  
+}
+.x-panel-btns-center .x-toolbar-ct {
+       margin:0 auto;  
+    text-align:left;
+    width:auto;
+}
+.x-panel-fbar td.x-toolbar-cell{
+       padding:0px;
+}
+.x-panel-fbar {
+    display: block;
+       padding:2px;
+    position:relative;
+    left:0;
+    top:0;
+    zoom:1;
+    overflow:hidden;
+}
+
+.x-panel-fbar .x-toolbar-cell {
+    vertical-align:middle;
+}
+
+.x-panel-fbar td {
+       vertical-align:middle;
+}
+.x-panel-btns .x-btn-focus .x-btn-left{
+       background-position:0 -147px;
+}
+.x-panel-btns .x-btn-focus .x-btn-right{
+       background-position:0 -168px;
+}
+.x-panel-btns .x-btn-focus .x-btn-center{
+       background-position:0 -189px;
+}
+.x-panel-btns .x-btn-over .x-btn-left{
+       background-position:0 -63px;
+}
+.x-panel-btns .x-btn-over .x-btn-right{
+       background-position:0 -84px;
+}
+.x-panel-btns .x-btn-over .x-btn-center{
+       background-position:0 -105px;
+}
+.x-panel-btns .x-btn-click .x-btn-center{
+       background-position:0 -126px;
+}
+.x-panel-btns .x-btn-click  .x-btn-right{
+       background-position:0 -84px;
+}
+.x-panel-btns .x-btn-click .x-btn-left{
+       background-position:0 -63px;
+}
+.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{
+       white-space: nowrap;
+}
+.x-window {
+    zoom:1;
+}
+.x-window .x-resizable-handle {
+    opacity:0;
+    -moz-opacity:0;
+    filter:alpha(opacity=0);
+}
+.x-window-proxy {
+    border:1px solid;
+    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 {
+    padding:5px 0 4px 0;
+}
+.x-window-header-text {
+    cursor:pointer;
+}
+.x-window-tc {
+       background: transparent repeat-x 0 0;
+       overflow:hidden;
+    zoom:1;
+}
+.x-window-tl {
+       background: transparent no-repeat 0 0;
+       padding-left:6px;
+    zoom:1;
+    z-index:1;
+    position:relative;
+}
+.x-window-tr {
+       background: transparent no-repeat right 0;
+       padding-right:6px;
+}
+.x-window-bc {
+       background: transparent 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 no-repeat 0 bottom;
+       padding-left:6px;
+    zoom:1;
+}
+.x-window-br {
+       background: transparent no-repeat right bottom;
+       padding-right:6px;
+    zoom:1;
+}
+.x-window-mc {
+    border:1px solid;
+    padding:0;
+    margin:0;
+}
+.x-window-ml {
+       background: transparent repeat-y 0 0;
+       padding-left:6px;
+    zoom:1;
+}
+.x-window-mr {
+       background: transparent 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;
+}
+.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;
+    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;
+}
+.x-panel-collapsed .x-window-tl {
+    border-bottom:1px solid;
+}
+.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);
+}
+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 {
+    border: 1px solid;
+}
+.x-window-plain .x-window-body {
+    border: 1px solid;
+    background:transparent !important;
+}
+.x-html-editor-wrap {
+    border:1px solid;
+}
+
+.x-html-editor-tb .x-btn-text {
+    background:transparent no-repeat;
+}
+
+.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 0 1px;
+    border-style:solid;
+}
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+    border-width:0 0 1px;
+    border-style:solid;
+}
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+    border-width:1px 0 0 0;
+    border-style:solid;
+}
+.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-width: 0 0 1px 0;
+}
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {
+    border-width: 1px 0 0 0;
+}
+.x-tab-panel-bbar-noborder .x-toolbar {
+    border-width: 1px 0 0 0;
+    border-style:solid;
+}
+.x-tab-panel-tbar-noborder .x-toolbar {
+    border-width:0 0 1px;
+    border-style:solid;
+}
+.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 {
+       padding-top:4px;
+       padding-bottom:3px;
+       border-top:0 none;
+    background: transparent repeat-x 0 -9px;
+}
+.x-layout-collapsed{
+    position:absolute;
+    left:-10000px;
+    top:-10000px;
+    visibility:hidden;
+    width:20px;
+    height:20px;
+    overflow:hidden;
+       border:1px solid;
+       z-index:20;
+}
+.ext-border-box .x-layout-collapsed{
+    width:22px;
+    height:22px;
+}
+.x-layout-collapsed-over{
+    cursor:pointer;
+}
+.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-column-inner {
+    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%;
+}
+.x-layout-split-east .x-layout-mini {
+    top:48%;
+}
+.x-layout-split-north .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+}
+.x-layout-split-south .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+}
+.x-layout-cmini-west .x-layout-mini {
+    top:48%;
+}
+.x-layout-cmini-east .x-layout-mini {
+    top:48%;
+}
+.x-layout-cmini-north .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+}
+.x-layout-cmini-south .x-layout-mini {
+    left:48%;
+    height:5px;
+    width:35px;
+}
+.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-box-layout-ct {
+    overflow:hidden;
+    zoom:1;
+}
+.x-box-inner {
+    overflow:hidden;
+    zoom:1;
+    position:relative;
+    left:0;
+    top:0;
+}
+.x-box-item {
+    position:absolute !important;
+    left:0;
+    top:0;
+}
+.x-progress-wrap {
+    border:1px solid;
+    overflow:hidden;
+}
+.x-progress-inner {
+    height:18px;
+    background:repeat-x;
+    position:relative;
+}
+.x-progress-bar {
+    height:18px;
+    float:left;
+    width:0;
+    background: repeat-x left center;
+    border-top:1px solid;
+    border-bottom:1px solid;
+    border-right:1px solid;
+}
+.x-progress-text {
+    padding:1px 5px;
+    overflow:hidden;
+    position:absolute;
+    left:0;
+    text-align:center;
+}
+.x-progress-text-back {
+    line-height:16px;
+}
+.ext-ie .x-progress-text-back {
+    line-height:15px;
+}
+.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: none;
+    -khtml-user-select: none;
+    -webkit-user-select: ignore
+       display:block;
+       overflow:hidden;  
+}
+.x-slider-horz {
+    padding-left:7px;
+    background:transparent no-repeat 0 -22px;
+}
+.x-slider-horz .x-slider-end {
+    padding-right:7px;
+    zoom:1;
+    background:transparent no-repeat right -44px;
+}
+.x-slider-horz .x-slider-inner {
+    background:transparent repeat-x 0 0;
+    height:22px;
+}
+.x-slider-horz .x-slider-thumb {
+    width:14px;
+    height:15px;
+    position:absolute;
+    left:0;
+    top:3px;
+    background:transparent 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 no-repeat -44px 0;
+    width:22px;
+}
+.x-slider-vert .x-slider-end {
+    padding-bottom:7px;
+    zoom:1;
+    background:transparent no-repeat -22px bottom;
+}
+.x-slider-vert .x-slider-inner {
+    background:transparent repeat-y 0 0;
+}
+.x-slider-vert .x-slider-thumb {
+    width:15px;
+    height:14px;
+    position:absolute;
+    left:3px;
+    bottom:0;
+    background:transparent 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;
+}
+.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-input {
+    margin-top:4px;
+    width:95%;
+}
+.x-window-dlg .ext-mb-textarea {
+    margin-top:4px;
+}
+.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 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;
+}
+.ext-ie .x-window-dlg .ext-mb-icon {
+    width:44px;  
+}
+.x-window-dlg .x-dlg-icon .ext-mb-content{
+    zoom: 1; margin-left: 47px;
+}
+.x-window-dlg .ext-mb-info, .x-window-dlg .ext-mb-warning, .x-window-dlg .ext-mb-question, .x-window-dlg .ext-mb-error {
+    background:transparent no-repeat top left;
+}
+.ext-gecko2 .ext-mb-fix-cursor {
+    overflow:auto;
+}
+.arrow-top {\r
+  background: url(../images/gxt/icons/top2.gif) no-repeat center left !important;\r
+}\r
+.arrow-bottom {\r
+  background: url(../images/gxt/icons/bottom2.gif) no-repeat center left !important;\r
+}\r
+.arrow-up {\r
+  background: url(../images/gxt/icons/up2.gif) no-repeat center left !important;\r
+}\r
+.arrow-down {\r
+  background: url(../images/gxt/icons/down2.gif) no-repeat center left !important;\r
+}\r
+.arrow-left {\r
+  background: url(../images/gxt/icons/left2.gif) no-repeat center left !important;\r
+}\r
+.arrow-double-left {\r
+  background: url(../images/gxt/icons/doubleleft2.gif) no-repeat center left !important;\r
+}\r
+.arrow-right {\r
+  background: url(../images/gxt/icons/right2.gif) no-repeat center left !important;\r
+}\r
+.arrow-double-right {\r
+  background: url(../images/gxt/icons/doubleright2.gif) no-repeat center left !important;\r
+}\r
+.x-info {\r
+  border-style: solid;\r
+  border-color: #99bbe8;\r
+  border-width: 0;\r
+  z-index: 99999999;\r
+}\r
+\r
+.x-info-header {\r
+  overflow: hidden;\r
+  zoom: 1;\r
+  color: black;\r
+  font: bold 13px tahoma, arial, verdana, sans-serif;\r
+  padding: 5px 3px 4px 5px;\r
+  line-height: 15px;\r
+  background: transparent url(../images/default/panel/white-top-bottom.gif) repeat-x 0 -1px;\r
+}\r
+\r
+.x-info-body {\r
+  border-top: 0 none;\r
+  overflow: hidden;\r
+  background: white;\r
+  position: relative; /* added for item scroll positioning */\r
+}\r
+\r
+.x-info-header {\r
+  overflow: hidden;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-tl .x-info-header {\r
+  color: #555555;\r
+  font-family: tahoma, arial, sans-serif;\r
+  font-size: 13px;\r
+  font-size-adjust: none;\r
+  font-stretch: normal;\r
+  font-style: normal;\r
+  font-variant: normal;\r
+  font-weight: bold;\r
+  line-height: normal;\r
+  padding: 5px 0 4px 0;\r
+  border: 0 none;\r
+  background: transparent;\r
+}\r
+\r
+.x-info-tl .x-info-icon,.x-window-tl .x-info-icon {\r
+  padding-left: 20px !important;\r
+  background-repeat: no-repeat;\r
+  background-position: 0 4px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-inline-icon {\r
+  width: 16px;\r
+  height: 16px;\r
+  background-repeat: no-repeat;\r
+  background-position: 0 0;\r
+  vertical-align: middle;\r
+  margin-right: 4px;\r
+  margin-top: -1px;\r
+  margin-bottom: -1px;\r
+}\r
+\r
+.x-info-tc {\r
+  background: transparent url(../images/gxt/info/top-bottom.gif) repeat-x 0 0;\r
+  overflow: hidden;\r
+}\r
+\r
+/* fix ie7 strict mode bug */\r
+.ext-ie7 .x-info-tc {\r
+  overflow: visible;\r
+}\r
+\r
+.x-info-tl {\r
+  background: transparent url(../images/gxt/info/corners-sprite.gif) no-repeat 0 0;\r
+  padding-left: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-tr {\r
+  background: transparent url(../images/gxt/info/corners-sprite.gif) no-repeat right 0;\r
+  zoom: 1;\r
+  padding-right: 6px;\r
+}\r
+\r
+.x-info-bc {\r
+  background: transparent url(../images/default/panel/top-bottom.gif) repeat-x 0 bottom;\r
+  zoom: 1;\r
+  font-size: 0px;\r
+}\r
+\r
+.x-info-bc .x-info-footer {\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-bl {\r
+  background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat 0 bottom;\r
+  padding-left: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-br {\r
+  background: transparent url(../images/default/panel/corners-sprite.gif) no-repeat right bottom;\r
+  padding-right: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-mc {\r
+  border: 0 none;\r
+  padding: 0;\r
+  margin: 0;\r
+  font: normal 11px tahoma, arial, helvetica, sans-serif;\r
+  background: #dfe8f6;\r
+}\r
+\r
+.x-info-mc .x-info-body {\r
+  background: transparent;\r
+  border: 0 none;\r
+}\r
+\r
+.x-info-ml {\r
+  background: #fff url(../images/default/panel/left-right.gif) repeat-y 0 0;\r
+  padding-left: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-mr {\r
+  background: transparent url(../images/default/panel/left-right.gif) repeat-y right 0;\r
+  padding-right: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-bc .x-info-footer {\r
+  padding-bottom: 6px;\r
+}\r
+\r
+.x-info-nofooter .x-info-bc,.x-panel-nofooter .x-info-bc {\r
+  height: 6px;\r
+  font-size: 0;\r
+  line-height: 0;\r
+}\r
+\r
+.x-info-bwrap {\r
+  overflow: hidden;\r
+  zoom: 1;\r
+}\r
+\r
+.x-info-body {\r
+  overflow: hidden;\r
+  zoom: 1;\r
+  color: #555555;\r
+  font-family: tahoma, arial, sans-serif;\r
+  font-size: 12px;\r
+  font-size-adjust: none;\r
+  font-style: normal;\r
+  font-variant: normal;\r
+  font-weight: normal;\r
+}.x-combo-over {\r
+  border: 1px dotted #B5B4B4 !important;\r
+  background: #F1F1F1;\r
+  cursor: pointer;\r
+}\r
+\r
+.my-list {\r
+  border: 1px solid #99BBE8;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+  background-color: white;\r
+  font-family: "Myriad Pro", "Myriad Web", "Tahoma", "Helvetica", "Arial", sans-serif;\r
+}\r
+\r
+.my-list-notchecked {\r
+  background: url(../images/gxt/tree/notchecked.gif) no-repeat 0px 0px !important;\r
+  margin: 3px 0pt 0pt 0px;\r
+}\r
+\r
+.my-list-checked {\r
+  background: url(../images/gxt/tree/checked.gif) no-repeat 0px 0px !important;\r
+  margin: 3px 0pt 0pt 0px;\r
+}\r
+\r
+.ext-ie .my-list-notchecked {\r
+  margin: 2px 0pt 0pt 0px;\r
+}\r
+\r
+.ext-ie .my-list-checked {\r
+  margin: 2px 0pt 0pt 0px;\r
+}\r
+\r
+.my-list-flat {\r
+  border: 1px solid #6593cf;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+  background-color: white;\r
+  cursor: default;\r
+}\r
+\r
+.my-list-item {\r
+  cursor: pointer;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-list-flat .my-list-item {\r
+  height: 19px;\r
+  border: 1px solid white;\r
+}\r
+\r
+.my-list-flat .my-list-item-over {\r
+  background-color: #F1F1F1;\r
+  border: 1px dotted #B5B4B4;\r
+}\r
+\r
+.my-list-flat .my-list-item-sel {\r
+  background-color: #DFE8F6;\r
+  border: 1px dotted #9EB8ED;\r
+}\r
+\r
+.my-list-flat .my-list-item-over .my-list-item-l {\r
+  background: none;\r
+}\r
+\r
+.my-list-flat .my-list-item-over .my-list-item-icon,.my-list-flat .my-list-item-over .my-list-item-ml,.my-list-flat .my-list-item-over .my-list-item-c\r
+  {\r
+  background: none;\r
+}\r
+\r
+.my-list-flat .my-list-item-over .my-list-item-r {\r
+  background: none;\r
+}\r
+\r
+.my-list-flat .my-list-item-sel .my-list-item-l {\r
+  background: none;\r
+}\r
+\r
+.my-list-flat .my-list-item-sel .my-list-item-icon,.my-list-flat .my-list-item-sel .my-list-item-ml,.my-list-flat .my-list-item-sel .my-list-item-c\r
+  {\r
+  background: none;\r
+}\r
+\r
+.my-list-flat .my-list-item-sel .my-list-item-r {\r
+  background: none;\r
+}\r
+\r
+.my-list-item-text {\r
+  font-size: 11px;\r
+  padding-top: 3px;\r
+  padding-left: 2px;\r
+  white-space: nowrap;\r
+  overflow: hidden;\r
+  line-height: 19px;\r
+}\r
+\r
+.my-list-item-l div {\r
+  width: 5px;\r
+}\r
+\r
+.my-list-item-ml {\r
+  width: 18px;\r
+}\r
+\r
+.my-list-item-c {\r
+  width: 100%;\r
+}\r
+\r
+.my-list-item-r div {\r
+  width: 3px;\r
+}\r
+\r
+.my-list-item-over .my-list-item-l {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left -57px;\r
+}\r
+\r
+.my-list-item-over .my-list-item-icon,.my-list-item-over .my-list-item-check,.my-list-item-over .my-list-item-c\r
+  {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) repeat-x left -95px;\r
+}\r
+\r
+.my-list-item-over .my-list-item-r {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -76px;\r
+}\r
+\r
+.my-list-item-sel .my-list-item-l {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left 0px;\r
+}\r
+\r
+.my-list-item-sel .my-list-item-icon,.my-list-item-sel .my-list-item-check,.my-list-item-sel .my-list-item-c\r
+  {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) left -38px;\r
+}\r
+\r
+.my-list-item-sel .my-list-item-r {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -19px;\r
+}.x-view {\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+  padding: 1px;\r
+  background-color: white;\r
+  cursor: default;\r
+  border: 1px solid #98C0F4;\r
+  overflow: hidden;\r
+}\r
+\r
+.x-view-item {\r
+  border: 1px solid #FFFFFF;\r
+  font-family: tahoma, arial, helvetica, sans-serif;\r
+  font-size: 12px;\r
+  font-size-adjust: none;\r
+  font-stretch: normal;\r
+  font-style: normal;\r
+  font-variant: normal;\r
+  font-weight: normal;\r
+  line-height: normal;\r
+  overflow: hidden;\r
+  padding: 2px;\r
+  white-space: nowrap;\r
+}\r
+\r
+.x-view-item-over {\r
+  background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;\r
+  border: 1px dotted #dddddd !important;\r
+  cursor: pointer;\r
+}\r
+\r
+.x-view-item-sel {\r
+  background: #DFE8F6 none repeat scroll 0%;\r
+  border: 1px dotted #A3BAE9 !important;\r
+  cursor: pointer;\r
+}\r
+.x-view-item-check {\r
+  padding: 0px;\r
+}\r
+.x-view-item-check td {\r
+  font-family: tahoma, arial, helvetica, sans-serif;\r
+  font-size: 12px;\r
+  font-size-adjust: none;\r
+  font-stretch: normal;\r
+  font-style: normal;\r
+  font-variant: normal;\r
+  font-weight: normal;\r
+  line-height: normal;\r
+  white-space: nowrap;\r
+  vertical-align: middle;\r
+  padding-left: 1px;\r
+}.x-splitbar-shim {\r
+  filter: alpha(opacity =                     1);\r
+  opacity: 0;\r
+  position: absolute;\r
+  width: 100%;\r
+  height: 100%;\r
+  z-index: 10;\r
+  background-color: white;\r
+  -moz-user-select: none;\r
+  -khtml-user-select: none;\r
+  user-select: none;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.x-vsplitbar {\r
+  background: url(../images/default/s.gif);\r
+  position: absolute;\r
+  z-index: 3;\r
+  cursor: e-resize;\r
+  cursor: col-resize;\r
+}\r
+\r
+.x-hsplitbar {\r
+  background: url(../images/default/s.gif);\r
+  position: absolute;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+  z-index: 3;\r
+  cursor: s-resize;\r
+  cursor: row-resize;\r
+}\r
+\r
+.x-splitbar-proxy {\r
+  position: absolute;\r
+  background-color: #929090;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+  z-index: 200;\r
+}\r
+\r
+.my-splitbar-shim {\r
+  filter: alpha(opacity =       1);\r
+  opacity: 0;\r
+  position: absolute;\r
+  width: 100%;\r
+  height: 100%;\r
+  z-index: 10;\r
+  background-color: white;\r
+  -moz-user-select: none;\r
+  -khtml-user-select: none;\r
+  user-select: none;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-splitbar-transparent {\r
+  background: none;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+  z-index: 2000;\r
+}\r
+\r
+.my-splitbar-proxy {\r
+  position: absolute;\r
+  background-color: #929090;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+  z-index: 200;\r
+}.x-status {\r
+  padding: 0 4px;\r
+  height: 21px;\r
+  line-height: 21px !important;\r
+  cursor: default;\r
+}\r
+.x-status .x-status-text{\r
+  padding: 2px;\r
+  line-height: 21px !important;\r
+}\r
+.x-status-icon {\r
+  padding-left: 25px !important;\r
+  background: transparent no-repeat left center;\r
+}\r
+.x-status-busy {   \r
+  background-image: url(../images/default/grid/loading.gif);\r
+}\r
+.x-status-text-panel {\r
+  border: 1px solid;\r
+  border-color: #99bbe8 #fff #fff #99bbe8;\r
+}\r
+.my-tbl {\r
+  border: 1px solid #99BBE8;\r
+  cursor: default;\r
+  background-color: white;\r
+  overflow: hidden;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+  font-family: arial, tahoma, helvetica, sans-serif;\r
+  font-size: 11px;\r
+  table-layout: fixed;\r
+}\r
+\r
+.my-tbl-col-overflow {\r
+  overflow: hidden;\r
+}\r
+\r
+.ext-ie .my-tbl-col-overflow {\r
+  \r
+}\r
+\r
+.my-tbl-col-text {\r
+  color: black;\r
+  padding: 5px 4px 0 4px;\r
+  display: block;\r
+  white-space: nowrap;\r
+  font-family: arial, tahoma, helvetica, sans-serif;\r
+  font-size: 11px;\r
+}\r
+\r
+.my-tbl-col {\r
+  border-right: 1px solid #D5D5D5;\r
+  background: url(../images/gxt/table/vs-column-bg.gif) repeat-x;\r
+}\r
+\r
+.my-tbl-col-splitter {\r
+  position: absolute;\r
+  top: 0;\r
+  width: 6px;\r
+  z-index: 100;\r
+  height: 100%;\r
+  right: 0px;\r
+}\r
+\r
+.my-tbl-col-over {\r
+  background: url(../images/gxt/table/vs-column-bg.gif) repeat-x 0px -24px;\r
+}\r
+\r
+.my-tbl-col-sort {\r
+  background-position: 0px -48px;\r
+}\r
+\r
+.my-icon-asc {\r
+  background-image: url(../images/gxt/icons/hmenu-asc.gif) !important;\r
+}\r
+\r
+.my-icon-desc {\r
+  background-image: url(../images/gxt/icons/hmenu-desc.gif) !important;\r
+}\r
+\r
+.my-tbl-col-asc {\r
+  background: url(../images/gxt/table/vsort-asc.gif) no-repeat 50% top;\r
+}\r
+\r
+.my-tbl-col-desc {\r
+  background: url(../images/gxt/table/vsort-desc.gif) no-repeat 50% top;\r
+}\r
+\r
+.my-tbl-col-splitter {\r
+  background: none;\r
+}\r
+\r
+.my-tbl-data {\r
+  background-color: white;\r
+  overflow: hidden;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-tbl-item {\r
+  border-top: 1px solid white;\r
+  border-bottom: 1px solid white;\r
+  border-bottom: 1px solid #EDEDED;\r
+  cursor: default;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-tbl-item table {\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+  table-layout: fixed;\r
+}\r
+\r
+.my-tbl-data .my-tbl-item-cell {\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-tbl-item td {\r
+  -moz-user-select: none;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-tbl-vlines .my-tbl-data .my-tbl-item-cell-overflow {\r
+  border-right: 1px solid #EDEDED;\r
+}\r
+\r
+.my-tbl-data .my-tbl-item-cell-overflow {\r
+  white-space: nowrap;\r
+  overflow: hidden;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-tbl-data .my-tbl-item-cell-text {\r
+  padding: 3px 4px;\r
+  font-family: arial, tahoma, helvetica, sans-serif;\r
+  font-size: 11px;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-tbl-data .my-tbl-item-cell-widget {\r
+  padding: 1px 4px;\r
+}\r
+\r
+.my-tbl-data tr {\r
+  overflow: hidden;\r
+}\r
+\r
+.my-tbl-item-over {\r
+  border-top: 1px solid #dddddd;\r
+  border-bottom: 1px solid #dddddd;\r
+  background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;\r
+}\r
+\r
+.my-tbl-item-sel {\r
+  background-image: none !important;\r
+  background-color: #D9E1ED !important;\r
+  border-top: 1px dotted #9EB8ED !important;\r
+  border-bottom: 1px dotted #9EB8ED !important;\r
+}\r
+\r
+.ext-ie .my-tbl TD .x-form-text {\r
+  POSITION: static;\r
+  TOP: 0px;\r
+}.tree-folder {\r
+  background: url(../images/gxt/icons/folder-closed.gif) no-repeat -1px -1px;\r
+}\r
+\r
+.tree-folder-open {\r
+  background: url(../images/gxt/icons/folder.gif) no-repeat -1px -1px;\r
+}\r
+\r
+.my-treetbl-tree {\r
+  cursor: default;\r
+}\r
+\r
+.my-treetblitem,.my-treetblitem table,.my-treetblitem table td {\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-treetblitem td {\r
+  height: 19px;\r
+}\r
+\r
+.my-treetbl-indent {\r
+  line-height: 1px;\r
+  font-size: 1px;\r
+}\r
+\r
+.my-treetbl-joint div {\r
+  width: 15px;\r
+  height: 19px;\r
+  line-height: 1px;\r
+  font-size: 1px;\r
+}\r
+\r
+.my-treetbl-left,.my-treetbl-left div,.my-treetbl-right {\r
+  line-height: 1px;\r
+  font-size: 1px;\r
+  width: 3px;\r
+}\r
+\r
+.my-treetbl-left div,.my-treetbl-right div {\r
+  width: 3px;\r
+}\r
+\r
+.my-treetbl-check div {\r
+  width: 17px;\r
+  height: 19px;\r
+  line-height: 1px;\r
+  font-size: 1px;\r
+  display: block;\r
+}\r
+\r
+.my-treetbl-icon div {\r
+  width: 16px;\r
+  height: 16px;\r
+  margin-top: 1px;\r
+  cursor: pointer;\r
+  background-repeat: no-repeat;\r
+  background-position: center;\r
+}\r
+\r
+.my-ie .my-treetbl-icon {\r
+  padding-top: 2px;\r
+}\r
+\r
+.my-ie .my-treetbl-icon div {\r
+  position: static;\r
+}\r
+\r
+.my-treetbl-item-text span {\r
+  font-family: arial, tahoma, helvetica, sans-serif;\r
+  font-size: 12px;\r
+  white-space: nowrap;\r
+  padding-left: 3px;\r
+  padding-right: 3px;\r
+  display: block;\r
+  height: 15px;\r
+  cursor: pointer;\r
+}\r
+\r
+.my-treetbl-over .my-treetbl-left {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left -57px;\r
+}\r
+\r
+.my-treetbl-over .my-treetbl-right {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -76px;\r
+}\r
+\r
+.my-treetbl-over .my-treetbl-check,.my-treetbl-over .my-treetbl-icon,.my-treetbl-over .my-treetbl-item-text\r
+  {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) left -95px;\r
+}\r
+\r
+.my-treetbl-sel .my-treetbl-left {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat left 0px;\r
+}\r
+\r
+.my-treetbl-sel .my-treetbl-right {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) no-repeat right -19px;\r
+}\r
+\r
+.my-treetbl-sel .my-treetbl-check,.my-treetbl-sel .my-treetbl-icon,.my-treetbl-sel .my-treetbl-item-text\r
+  {\r
+  background: url(../images/gxt/shared/select-19-bg.gif) left -38px;\r
+}\r
+\r
+.my-treetbl-close {\r
+  background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px 1px;\r
+}\r
+\r
+.my-treetbl-open {\r
+  background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px -32px;\r
+}\r
+\r
+.my-treetbl-joint-over  .my-treetbl-open {\r
+  background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px -48px;\r
+}\r
+\r
+.my-treetbl-joint-over .my-treetbl-close {\r
+  background: url(../images/gxt/tree/vnode_transparent.gif) no-repeat 0px -15px;\r
+}\r
+\r
+.my-treetbl-notchecked {\r
+  background: url(../images/gxt/tree/notchecked.gif) no-repeat 0px 50%;\r
+}\r
+\r
+.my-treetbl-checked {\r
+  background: url(../images/gxt/tree/checked.gif) no-repeat 0px 50%;\r
+}\r
+\r
+.my-treetbl-loading .tree-folder {\r
+  background: url(../images/gxt/icons/wait.gif) no-repeat 0px -1px;\r
+}\r
+\r
+.my-treetbl-loading .my-treetbl-item-text span {\r
+  font-style: italic;\r
+}\r
+\r
+.my-treetbl {\r
+  border: 1px solid #99BBE8;\r
+  cursor: default;\r
+  background-color: white;\r
+  overflow: hidden;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-treetbl-col-overflow {\r
+  overflow: hidden;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-treetbl-col-text {\r
+  color: black;\r
+  padding: 5px 4px 0 4px;\r
+  display: block;\r
+  white-space: nowrap;\r
+  font-family: arial, tahoma, helvetica, sans-serif;\r
+  font-size: 12px;\r
+}\r
+\r
+.my-treetbl-col {\r
+  border-right: 1px solid #D5D5D5;\r
+  background: url(../images/gxt/table/vs-column-bg.gif) repeat-x;\r
+}\r
+\r
+.my-treetbl-col-splitter {\r
+  position: absolute;\r
+  top: 0;\r
+  width: 6px;\r
+  z-index: 100;\r
+  height: 100%;\r
+  right: 0px;\r
+}\r
+\r
+.my-treetbl-col-over {\r
+  background: url(../images/gxt/table/vs-column-bg.gif) repeat-x 0px -24px;\r
+}\r
+\r
+.my-treetbl-col-sort {\r
+  background-position: 0px -48px;\r
+}\r
+\r
+.my-treetbl-col-asc {\r
+  background: url(../images/gxt/table/vsort-asc.gif) no-repeat 50% top;\r
+}\r
+\r
+.my-treetbl-col-desc {\r
+  background: url(../images/gxt/table/vsort-desc.gif) no-repeat 50% top;\r
+}\r
+\r
+.my-treetbl-col-splitter {\r
+  background: none;\r
+}\r
+\r
+.my-treetbl-data {\r
+  background-color: white;\r
+  overflow: hidden;\r
+}\r
+\r
+.my-treetbl-data .my-treetbl-cell {\r
+  height: 20px;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-treetbl-data .my-treetbl-cell-overflow {\r
+  white-space: nowrap;\r
+  overflow: hidden;\r
+}\r
+\r
+.my-treetbl-data .my-treetbl-cell-text {\r
+  padding: 0px 0px;\r
+  font-family: arial, tahoma, helvetica, sans-serif;\r
+  font-size: 12px;\r
+}\r
+\r
+.my-treetbl-data tr {\r
+  overflow: hidden;\r
+}\r
+\r
+.my-treetbl-item {\r
+  border-top: 1px solid white;\r
+  border-bottom: 1px solid white;\r
+  border-bottom: 1px solid #EDEDED;\r
+  cursor: default;\r
+  -moz-outline: none;\r
+  -moz-user-focus: normal;\r
+}\r
+\r
+.my-treetbl-item-over {\r
+  border-top: 1px solid #dddddd;\r
+  border-bottom: 1px solid #dddddd;\r
+  background: #efefef url(../images/default/grid/row-over.gif) repeat-x left top;\r
+}\r
+\r
+.my-treetbl-item-sel {\r
+  background-image: none;\r
+  background-color: #D9E1ED;\r
+  border-top: 1px dotted #9EB8ED;\r
+  border-bottom: 1px dotted #9EB8ED;\r
+}\r
+\r
+.my-treetbl .x-grid3-td-numberer {\r
+  background: transparent url(../images/gxt/tree/tree-table-special-col.gif) repeat-y\r
+    scroll left center;\r
+  height: 19px;\r
+  line-height: normal;\r
+  padding-left: 0px;\r
+  margin-left: 0px;\r
+}\r
+\r
+.x-grid3-td-numberer div {\r
+  font-size: 11px;\r
+  font-family: "segoe ui", tahoma, arial, sans-serif;\r
+  color: #444444;\r
+  padding: 3px 0px 0 5px !important;\r
+}\r
+\r
+.ext-ie .my-treetbl .x-grid3-td-numberer {\r
+  height: 20px;\r
+}\r
+\r
+.my-treetbl-item-sel .x-grid3-td-numberer {\r
+  background: transparent url(../images/gxt/tree/tree-table-special-col-sel.gif) repeat-y\r
+    scroll left center;\r
+}.ext-el-mask {
+    background-color: #ccc;
+}
+.ext-el-mask-msg {
+    border-color:#6593cf;
+    background-color:#c3daf9;
+    background-image:url(../images/default/box/tb-blue.gif);
+}
+.ext-el-mask-msg div {
+    background-color: white;
+    border-color:#a3bad9;
+    color:#222;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-mask-loading div {
+    background-color:#fbfbfb;
+    background-image:url(../images/default/grid/loading.gif);
+}
+.x-item-disabled {
+    color: gray;
+}
+.x-item-disabled * {
+    color: gray !important;
+}
+.x-splitbar-proxy {
+    background-color: #aaa;
+}
+.x-color-palette a {
+    border-color:#fff;
+}
+.x-color-palette a.x-color-palette-hover, .x-color-palette a.x-color-palette-sel {
+    border-color:#8bb8f3;
+    background-color: #deecfd;
+}
+.x-color-palette em {
+    border-color:#aca899;
+}
+.x-ie-shadow {
+    background-color:#777;
+}
+.x-shadow .xsmc {
+    background-image: url(../images/default/shadow-c.png);
+}
+.x-shadow .xsml, .x-shadow .xsmr {
+    background-image: url(../images/default/shadow-lr.png);
+}
+.x-shadow .xstl, .x-shadow .xstc,  .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{
+    background-image: url(../images/default/shadow.png);
+}
+.loading-indicator {
+    font-size: 11px;
+    background-image: url(../images/default/grid/loading.gif);
+}
+.x-spotlight {
+    background-color: #ccc;
+}
+.x-aria-focusframe-side {
+       background-color: #15428B;
+       line-height: 2px;
+       font-size: 2px;
+}
+.x-tab-panel-header, .x-tab-panel-footer {
+       background-color: #deecfd;
+       border-color:#8db2e3;
+    overflow:hidden;
+    zoom:1;
+}
+.x-tab-panel-header, .x-tab-panel-footer {
+       border-color:#8db2e3;
+}
+ul.x-tab-strip-top{
+    background-color:#cedff5;
+       background-image: url(../images/default/tabs/tab-strip-bg.gif);
+       border-bottom-color:#8db2e3;
+}
+ul.x-tab-strip-bottom{
+    background-color:#cedff5;
+       background-image: url(../images/default/tabs/tab-strip-btm-bg.gif);
+       border-top-color:#8db2e3;
+}
+.x-tab-panel-header-plain .x-tab-strip-spacer,
+.x-tab-panel-footer-plain .x-tab-strip-spacer {
+    border-color:#8db2e3;
+    background-color: #deecfd;
+}
+.x-tab-strip span.x-tab-strip-text {
+       font:normal 11px tahoma,arial,helvetica;
+       color:#416aa3;
+}
+.x-tab-strip-over span.x-tab-strip-text {
+       color:#15428b;
+}
+.x-tab-strip-active span.x-tab-strip-text {
+       color:#15428b;
+    font-weight:bold;
+}
+.x-tab-strip-disabled .x-tabs-text {
+       color:#aaaaaa;
+}
+.x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{
+       background-image: url(../images/default/tabs/tabs-sprite.gif);
+}
+.x-tab-strip-bottom .x-tab-right {
+       background-image: url(../images/default/tabs/tab-btm-inactive-right-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-left {
+       background-image: url(../images/default/tabs/tab-btm-inactive-left-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
+       background-image: url(../images/default/tabs/tab-btm-right-bg.gif);
+}
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
+       background-image: url(../images/default/tabs/tab-btm-left-bg.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
+       background-image:url(../images/default/tabs/tab-close.gif);
+}
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
+       background-image:url(../images/default/tabs/tab-close.gif);
+}
+.x-tab-panel-body {
+    border-color:#8db2e3;
+    background-color:#fff;
+}
+.x-tab-panel-body-top {
+    border-top: 0 none;
+}
+.x-tab-panel-body-bottom {
+    border-bottom: 0 none;
+}
+.x-tab-scroller-left {
+    background-image:url(../images/default/tabs/scroll-left.gif);
+    border-bottom-color:#8db2e3;
+}
+.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-image:url(../images/default/tabs/scroll-right.gif);
+    border-bottom-color:#8db2e3;
+}
+.x-tab-panel-bbar .x-toolbar, .x-tab-panel-tbar .x-toolbar {
+    border-color:#99bbe8;
+}
+.x-form-field{
+    font:normal 12px tahoma, arial, helvetica, sans-serif;
+}
+.x-form-text, textarea.x-form-field{
+    background-color:#fff;
+    background-image:url(../images/default/form/text-bg.gif);
+    border-color:#b5b8c8;
+}
+.x-form-select-one {
+    background-color:#fff;
+    border-color:#b5b8c8;
+}
+.x-form-check-group-label {
+    border-bottom: 1px solid #99bbe8;
+    color: #15428b;
+}
+.x-editor .x-form-check-wrap {
+    background-color:#fff;
+}
+.x-form-field-wrap .x-form-trigger{
+    background-image:url(../images/default/form/trigger.gif);
+    border-bottom-color:#b5b8c8;
+}
+.x-form-field-wrap .x-form-date-trigger{
+    background-image: url(../images/default/form/date-trigger.gif);
+}
+.x-form-field-wrap .x-form-clear-trigger{
+    background-image: url(../images/default/form/clear-trigger.gif);
+}
+.x-form-field-wrap .x-form-search-trigger{
+    background-image: url(../images/default/form/search-trigger.gif);
+}
+.x-trigger-wrap-focus .x-form-trigger{
+    border-bottom-color:#7eadd9;
+}
+.x-item-disabled .x-form-trigger-over{
+    border-bottom-color:#b5b8c8;
+}
+.x-item-disabled .x-form-trigger-click{
+    border-bottom-color:#b5b8c8;
+}
+.x-form-focus, textarea.x-form-focus{
+       border-color:#7eadd9;
+}
+.x-form-invalid, textarea.x-form-invalid{
+    background-color:#fff;
+       background-image:url(../images/default/grid/invalid_line.gif);
+       border-color:#c30;
+}
+.ext-safari .x-form-invalid{
+       background-color:#fee;
+       border-color:#ff7870;
+}
+.x-form-inner-invalid, textarea.x-form-inner-invalid{
+    background-color:#fff;
+       background-image:url(../images/default/grid/invalid_line.gif);
+}
+.x-form-grow-sizer {
+       font:normal 12px tahoma, arial, helvetica, sans-serif;
+}
+.x-form-item label {
+    font:normal 12px tahoma, arial, helvetica, sans-serif;
+}
+.x-form-invalid-msg {
+    color:#c0272b;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+    background-image:url(../images/default/shared/warning.gif);
+}
+.x-form-empty-field {
+    color:gray;
+}
+.x-small-editor .x-form-field {
+    font:normal 11px arial, tahoma, helvetica, sans-serif;
+}
+.ext-safari .x-small-editor .x-form-field {
+    font:normal 12px arial, tahoma, helvetica, sans-serif;
+}
+.x-form-invalid-icon {
+    background-image:url(../images/default/form/exclamation.gif);
+}
+.x-fieldset {
+    border-color:#b5b8c8;
+}
+.x-fieldset legend {
+    font:bold 11px tahoma, arial, helvetica, sans-serif;
+    color:#15428b;
+}
+
+.x-editor .x-form-check-wrap {
+       border-color:#7eadd9;
+}
+.x-btn{
+       font:normal 11px tahoma, verdana, helvetica;
+}
+.x-btn button{
+    font:normal 11px arial,tahoma,verdana,helvetica;
+    color:#333;
+}
+.x-btn em {
+    font-style:normal;
+    font-weight:normal;
+}
+.x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{
+       background-image:url(../images/default/button/btn.gif);
+}
+.x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{
+    color:#000;
+}
+.x-btn-disabled *{
+       color:gray !important;
+}
+.x-btn-mc em.x-btn-arrow {
+    background-image:url(../images/default/button/arrow.gif);
+}
+.x-btn-mc em.x-btn-split {
+    background-image:url(../images/default/button/s-arrow.gif);
+}
+.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split {
+    background-image:url(../images/default/button/s-arrow-o.gif);
+}
+.x-btn-mc em.x-btn-arrow-bottom {
+    background-image:url(../images/default/button/s-arrow-b-noline.gif);
+}
+.x-btn-mc em.x-btn-split-bottom {
+    background-image:url(../images/default/button/s-arrow-b.gif);
+}
+.x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom {
+    background-image:url(../images/default/button/s-arrow-bo.gif);
+}
+.x-btn-group-header {
+    color: #3e6aaa;
+}
+.x-btn-group-tc {
+       background-image: url(../images/default/button/group-tb.gif);
+}
+.x-btn-group-tl {
+       background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-tr {
+       background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-bc {
+       background-image: url(../images/default/button/group-tb.gif);
+}
+.x-btn-group-bl {
+       background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-br {
+       background-image: url(../images/default/button/group-cs.gif);
+}
+.x-btn-group-ml {
+       background-image: url(../images/default/button/group-lr.gif);
+}
+.x-btn-group-mr {
+       background-image: url(../images/default/button/group-lr.gif);
+}
+.x-btn-group-notitle .x-btn-group-tc {
+       background-image: url(../images/default/button/group-tb.gif);
+}
+.x-toolbar{
+       border-color:#a9bfd3;
+    background-color:#d0def0;
+    background-image:url(../images/default/toolbar/bg.gif);
+}
+.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{
+    font:normal 11px arial,tahoma, helvetica, sans-serif;
+}
+.x-toolbar .x-item-disabled {
+       color:gray;
+}
+.x-toolbar .x-item-disabled * {
+       color:gray;
+}
+.x-toolbar .x-btn-mc em.x-btn-split {
+    background-image:url(../images/default/button/s-arrow-noline.gif);
+}
+.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, 
+.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split 
+{
+    background-image:url(../images/default/button/s-arrow-o.gif);
+}
+.x-toolbar .x-btn-mc em.x-btn-split-bottom {
+    background-image:url(../images/default/button/s-arrow-b-noline.gif);
+}
+.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, 
+.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom 
+{
+    background-image:url(../images/default/button/s-arrow-bo.gif);
+}
+.x-toolbar .xtb-sep {
+       background-image: url(../images/default/grid/grid-blue-split.gif);
+}
+.x-tbar-page-first{
+       background-image: url(../images/default/grid/page-first.gif) !important;
+}
+.x-tbar-refresh{
+       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-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 {
+    color:#444;
+}
+.x-toolbar-more-icon {
+    background-image: url(../images/default/toolbar/more.gif) !important;
+}.x-resizable-handle {
+       background-color:#fff;
+}
+.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east,
+.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west
+{
+    background-image:url(../images/default/sizer/e-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south,
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north
+{
+    background-image:url(../images/default/sizer/s-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{
+    background-image:url(../images/default/sizer/s-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{
+    background-image:url(../images/default/sizer/se-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{
+    background-image:url(../images/default/sizer/nw-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{
+    background-image:url(../images/default/sizer/ne-handle.gif);
+}
+.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{
+    background-image:url(../images/default/sizer/sw-handle.gif);
+}
+.x-resizable-proxy{
+    border-color:#3b5a82;
+}
+.x-resizable-overlay{
+    background-color:#fff;
+}
+.x-grid3 {
+    background-color:#fff;
+}
+.x-grid-panel .x-panel-mc .x-panel-body {
+    border-color:#99bbe8;
+}
+.x-grid3-hd-row .x-grid3-hd, .x-grid3-row .x-grid3-cell, .x-grid3-summary-row .x-grid3-cell{
+       font:normal 11px arial, tahoma, helvetica, sans-serif;
+}
+.x-grid3-hd-row .x-grid3-hd {
+    border-left-color:#eee;
+    border-right-color:#d0d0d0;
+}
+.x-grid-row-loading {
+    background-color: #fff;
+    background-image:url(../images/default/shared/loading-balls.gif);
+}
+.x-grid3-row {
+    border-color:#ededed;
+    border-top-color:#fff;
+}
+.x-grid3-row-alt{
+       background-color:#fafafa;
+}
+.x-grid3-row-over {
+       border-color:#ddd;
+    background-color:#efefef;
+    background-image:url(../images/default/grid/row-over.gif);
+}
+.x-grid3-resize-proxy {
+    background-color:#777;
+}
+.x-grid3-resize-marker {
+    background-color:#777;
+}
+.x-grid3-header{
+    background-color:#f9f9f9;
+       background-image:url(../images/default/grid/grid3-hrow.gif);
+}
+.x-grid3-header-pop {
+    border-left-color:#d0d0d0;
+}
+.x-grid3-header-pop-inner {
+    border-left-color:#eee;
+    background-image:url(../images/default/grid/hd-pop.gif);
+}
+td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {
+    border-left-color:#aaccf6;
+    border-right-color:#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-color:#ebf3fd;
+    background-image:url(../images/default/grid/grid3-hrow-over.gif);
+}
+.sort-asc .x-grid3-sort-icon {
+       background-image: url(../images/default/grid/sort_asc.gif);
+}
+.sort-desc .x-grid3-sort-icon {
+       background-image: url(../images/default/grid/sort_desc.gif);
+}
+.x-grid3-cell-text, .x-grid3-hd-text {
+       color:#000;
+}
+.x-grid3-split {
+       background-image: url(../images/default/grid/grid-split.gif);
+}
+.x-grid3-hd-text {
+       color:#15428b;
+}
+.x-dd-drag-proxy .x-grid3-hd-inner{
+    background-color:#ebf3fd;
+       background-image:url(../images/default/grid/grid3-hrow-over.gif);
+       border-color:#aaccf6;
+}
+.col-move-top{
+       background-image:url(../images/default/grid/col-move-top.gif);
+}
+.col-move-bottom{
+       background-image:url(../images/default/grid/col-move-bottom.gif);
+}
+.x-grid3-row-selected {
+    background-image: none !important;
+       background-color: #dfe8f6 !important;
+       border-color:#a3bae9;
+}
+.x-grid3-cell-selected{
+       background-color: #b8cfee !important;
+       color:#000;
+}
+.x-grid3-cell-selected span{
+       color:#000 !important;
+}
+.x-grid3-cell-selected .x-grid3-cell-text{
+       color:#000;
+}
+.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{
+    background-color:#ebeadb !important;
+    background-image:url(../images/default/grid/grid-hrow.gif) !important;
+    color:#000;
+    border-top-color:#fff;
+    border-right-color:#6fa0df !important;
+}
+.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{
+    color:#15428b !important;
+}
+.x-grid3-dirty-cell {
+    background-image:url(../images/default/grid/dirty.gif);
+}
+.x-grid3-topbar, .x-grid3-bottombar{
+       font:normal 11px arial, tahoma, helvetica, sans-serif;
+}
+.x-grid3-bottombar .x-toolbar{
+       border-top-color:#a9bfd3;
+}
+.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{
+       background-image:url(../images/default/grid/grid3-special-col-bg.gif) !important;
+    color:#000 !important;
+}
+.x-props-grid .x-grid3-body .x-grid3-td-name{
+    background-color:#fff !important;
+    border-right-color:#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-hd-btn {
+    background-color:#c3daf9;
+    background-image:url(../images/default/grid/grid3-hd-btn.gif);
+}
+.x-grid3-body .x-grid3-td-expander {
+    background-image:url(../images/default/grid/grid3-special-col-bg.gif);
+}
+.x-grid3-row-expander {
+    background-image:url(../images/default/grid/row-expand-sprite.gif);
+}
+.x-grid3-body .x-grid3-td-checker {
+    background-image: url(../images/default/grid/grid3-special-col-bg.gif);
+}
+.x-grid3-row-checker, .x-grid3-hd-checker {
+    background-image:url(../images/default/grid/row-check-sprite.gif);
+}
+.x-grid3-body .x-grid3-td-numberer {
+    background-image:url(../images/default/grid/grid3-special-col-bg.gif);
+}
+.x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner {
+       color:#444;
+}
+.x-grid3-body .x-grid3-td-row-icon {
+    background-image:url(../images/default/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/default/grid/grid3-special-col-sel-bg.gif);
+}
+.x-grid3-check-col {
+       background-image:url(../images/default/menu/unchecked.gif);
+}
+.x-grid3-check-col-on {
+       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-color:#99bbe8;
+}
+.x-grid-group-hd div {
+    background-image:url(../images/default/grid/group-expand-sprite.gif);
+    color:#3764a0;
+    font:bold 11px tahoma, arial, helvetica, sans-serif;
+}
+.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);
+}
+.x-grid-empty {
+    color:gray;
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-grid-with-col-lines .x-grid3-row td.x-grid3-cell {
+    border-right-color:#ededed;
+}
+.x-grid-with-col-lines .x-grid3-row{
+    border-top-color:#ededed;
+}
+.x-grid-with-col-lines .x-grid3-row-selected {
+       border-top-color:#a3bae9;
+}
+
+.x-grid3-check-col-disabled {
+    background-color:transparent;
+       background-image:url(../images/gxt/menu/disabledcheck.gif);
+}
+
+.x-row-editor-header {
+       background: transparent url(../images/gxt/grid/row-editor-bg.gif) repeat-x 0 0;
+}
+.x-row-editor-footer {
+       background: transparent url(../images/gxt/grid/row-editor-bg.gif) repeat-x 0 -2px;
+}
+.x-row-editor-body {
+    background: #ebf2fb;
+}
+.x-row-editor .x-btns {
+    background: transparent url(../images/gxt/grid/row-editor-btns.gif) no-repeat 0 0;
+}
+.x-row-editor .x-btns .x-plain-bwrap {
+       background: transparent url(../images/gxt/grid/row-editor-btns.gif) no-repeat right -31px;
+}
+.x-row-editor .x-btns .x-plain-body {
+       background: transparent url(../images/gxt/grid/row-editor-btns.gif) repeat-x 0 -62px;
+}
+.x-dd-drag-ghost{
+       color:#000;
+       font: normal 11px arial, helvetica, sans-serif;
+    border-color: #ddd #bbb #bbb #ddd;
+       background-color:#fff;
+}
+.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 {
+    background-color:#c3daf9;
+    border-color:#3399bb;
+}
+.x-tree-drop-ok-append .x-dd-drop-icon {\r
+       background-image: url(../images/default/tree/drop-add.gif);\r
+}\r
+\r
+.x-tree-drop-ok-above .x-dd-drop-icon {\r
+       background-image: url(../images/default/tree/drop-over.gif);\r
+}\r
+\r
+.x-tree-drop-ok-below .x-dd-drop-icon {\r
+       background-image: url(../images/default/tree/drop-under.gif);\r
+}\r
+\r
+.x-tree-drop-ok-between .x-dd-drop-icon {\r
+       background-image: url(../images/default/tree/drop-between.gif);\r
+}\r
+\r
+.x-tree3-loading {\r
+       background-image: url(../images/default/tree/loading.gif);\r
+}\r
+\r
+.x-tree3-node-text {\r
+       font: normal 11px arial, tahoma, helvetica, sans-serif;\r
+       color: black;\r
+}.x-date-picker {
+    border-color: #1b376c;
+    background-color:#fff;
+}
+.x-date-middle,.x-date-left,.x-date-right {
+       background-image: url(../images/default/shared/hd-sprite.gif);
+       color:#fff;
+       font:bold 11px "sans serif", tahoma, verdana, helvetica;
+}
+.x-date-middle .x-btn .x-btn-text {
+    color:#fff;
+}
+.x-date-middle .x-btn-mc em.x-btn-arrow {
+    background-image:url(../images/default/toolbar/btn-arrow-light.gif);
+}
+.x-date-right a {
+    background-image: url(../images/default/shared/right-btn.gif);
+}
+.x-date-left a{
+       background-image: url(../images/default/shared/left-btn.gif);
+}
+.x-date-inner th {
+    background-color:#dfecfb;
+    background-image:url(../images/default/shared/glass-bg.gif);
+       border-bottom-color:#a3bad9;
+    font:normal 10px arial, helvetica,tahoma,sans-serif;
+       color:#233d6d;
+}
+.x-date-inner td {
+    border-color:#fff;
+}
+.x-date-inner a {
+    font:normal 11px arial, helvetica,tahoma,sans-serif;
+    color:#000;
+}
+.x-date-inner .x-date-active{
+       color:#000;
+}
+.x-date-inner .x-date-selected a{
+    background-color:#dfecfb;
+       background-image:url(../images/default/shared/glass-bg.gif);
+       border-color:#8db2e3;
+}
+.x-date-inner .x-date-today a{
+       border-color:darkred;
+}
+.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;
+}
+.x-date-bottom {
+    border-top-color:#a3bad9;
+    background-color:#dfecfb;
+    background-image:url(../images/default/shared/glass-bg.gif);
+}
+.x-date-inner .x-date-disabled a {
+       background-color:#eee;
+       color:#bbb;
+}
+.x-date-mmenu{
+    background-color:#eee !important;
+}
+.x-date-mmenu .x-menu-item {
+       font-size:10px;
+       color:#000;
+}
+.x-date-mp {
+       background-color:#fff;
+}
+.x-date-mp td {
+       font:normal 11px arial, helvetica,tahoma,sans-serif;
+}
+.x-date-mp-btns button {
+       background-color:#083772;
+       color:#fff;
+       border-color: #3366cc #000055 #000055 #3366cc;
+       font:normal 11px arial, helvetica,tahoma,sans-serif;
+}
+.x-date-mp-btns {
+    background-color: #dfecfb;
+       background-image: url(../images/default/shared/glass-bg.gif);
+}
+.x-date-mp-btns td {
+       border-top-color: #c5d2df;
+}
+td.x-date-mp-month a,td.x-date-mp-year a {
+       color:#15428b;
+}
+td.x-date-mp-sel a {
+    background-color: #dfecfb;
+       background-image: url(../images/default/shared/glass-bg.gif);
+       border-color:#8db2e3;
+}
+.x-date-mp-ybtn a {
+    background-image:url(../images/default/panel/tool-sprites.gif);
+}
+td.x-date-mp-sep {
+   border-right-color:#c5d2df;
+}
+.x-tip .x-tip-close{
+       background-image: url(../images/default/qtip/close.gif);
+}
+.x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr {
+       background-image: url(../images/default/qtip/tip-sprite.gif);
+}
+.x-tip .x-tip-mc {
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+}
+.x-tip .x-tip-ml {
+       background-color: #fff;
+}
+.x-tip .x-tip-header-text {
+    font: bold 11px tahoma,arial,helvetica,sans-serif;
+    color:#444;
+}
+.x-tip .x-tip-body {
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+    color:#444;
+}
+.x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc,
+.x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr
+{
+       background-image: url(../images/default/form/error-tip-corners.gif);
+}
+.x-form-invalid-tip .x-tip-body {
+    background-image:url(../images/default/form/exclamation.gif);
+}
+.x-tip-anchor {
+    background-image:url(../images/default/qtip/tip-anchor-sprite.gif);
+}
+.x-menu {
+       border-color:#718bb7;
+    background-color:#f0f0f0;
+       background-image:url(../images/default/menu/menu.gif);
+}
+.x-menu-nosep {
+       background-image:none;
+}
+.x-menu-list-item{
+       font:normal 11px tahoma,arial, sans-serif;
+}
+.x-menu-item-arrow{
+       background-image:url(../images/default/menu/menu-parent.gif);
+}
+.x-menu-sep {
+    background-color:#e0e0e0;
+       border-bottom-color:#fff;
+}
+a.x-menu-item {
+       color:#222;
+}
+.x-menu-item-active {
+       background-color: #dbecf4;
+    border-color:#aaccf6;
+}
+.x-menu-item-active a.x-menu-item {
+       border-color:#aaccf6;
+}
+.x-menu-plain {
+       background-color:#fff !important;
+}
+.x-menu .x-date-picker{
+    border-color:#a3bad9;
+}
+.x-cycle-menu .x-menu-item-checked {
+    border-color:#a3bae9 !important;
+    background-color:#def8f6;
+}
+.x-menu-scroller-top {
+    background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-menu-scroller-bottom {
+    background-image:url(../images/default/layout/mini-bottom.gif);
+}
+
+.x-menu-scroller{
+       border-width: 1px 0;
+}
+.x-box-tl {
+       background-image: url(../images/default/box/corners.gif);
+}
+.x-box-tc {
+       background-image: url(../images/default/box/tb.gif);
+}
+.x-box-tr {
+       background-image: url(../images/default/box/corners.gif);
+}
+.x-box-ml {
+       background-image: url(../images/default/box/l.gif);
+}
+.x-box-mc {
+       background-color: #eee;
+    background-image: url(../images/default/box/tb.gif);
+       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;
+}
+.x-box-mr {
+       background-image: url(../images/default/box/r.gif);
+}
+.x-box-bl {
+       background-image: url(../images/default/box/corners.gif);
+}
+.x-box-bc {
+       background-image: url(../images/default/box/tb.gif);
+}
+.x-box-br {
+       background-image: url(../images/default/box/corners.gif);
+}
+.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-combo-list {
+    border-color:#98c0f4;
+    background-color:#ddecfe;
+    font:normal 12px tahoma, arial, helvetica, sans-serif;
+}
+.x-combo-list-inner {
+    background-color:#fff;
+}
+.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-color:#98c0f4;
+}
+.x-resizable-pinned .x-combo-list-inner {
+    border-bottom-color:#98c0f4;
+}
+.x-combo-list-item {
+    border-color:#fff;
+}
+.x-combo-list .x-combo-selected{
+       border-color:#a3bae9 !important;
+    background-color:#dfe8f6;
+}
+.x-combo-list .x-toolbar {
+    border-top-color:#98c0f4;
+}
+.x-combo-list-small {
+    font:normal 11px tahoma, arial, helvetica, sans-serif;
+}
+.x-panel {
+    border-color: #99bbe8;
+}
+.x-panel-header {
+    color:#15428b;
+       font:bold 11px tahoma,arial,verdana,sans-serif;
+    border-color:#99bbe8;
+    background-image: url(../images/default/panel/white-top-bottom.gif);
+}
+.x-panel-body {
+    border-color:#99bbe8;
+    background-color:#fff;
+}
+.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar {
+    border-color:#99bbe8;
+}
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
+    border-top-color:#99bbe8;
+}
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {
+    border-top-color:#99bbe8;
+}
+.x-panel-tl .x-panel-header {
+    color:#15428b;
+       font:bold 11px tahoma,arial,verdana,sans-serif;
+}
+.x-panel-tc {
+       background-image: url(../images/default/panel/top-bottom.gif);
+}
+.x-panel-tl, .x-panel-tr, .x-panel-bl,  .x-panel-br{
+       background-image: url(../images/default/panel/corners-sprite.gif);
+    border-bottom-color:#99bbe8;
+}
+.x-panel-bc {
+       background-image: url(../images/default/panel/top-bottom.gif);
+}
+.x-panel-mc {
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+    background-color:#dfe8f6;
+}
+.x-panel-ml {
+       background-color: #fff;
+    background-image:url(../images/default/panel/left-right.gif);
+}
+.x-panel-mr {
+       background-image: url(../images/default/panel/left-right.gif);
+}
+.x-tool {
+    background-image:url(../images/default/panel/tool-sprites.gif);
+}
+.x-panel-ghost {
+    background-color:#cbddf3;
+}
+.x-panel-ghost ul {
+    border-color:#99bbe8;
+}
+.x-panel-dd-spacer {
+    border-color:#99bbe8;
+}
+.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{
+    font:normal 11px arial,tahoma, helvetica, sans-serif;
+}
+.x-window-proxy {
+    background-color:#c7dffc;
+    border-color:#99bbe8;
+}
+.x-window-tl .x-window-header {
+    color:#15428b;
+       font:bold 11px tahoma,arial,verdana,sans-serif;
+}
+.x-window-tc {
+       background-image: url(../images/default/window/top-bottom.png);
+}
+.x-window-tl {
+       background-image: url(../images/default/window/left-corners.png);
+}
+.x-window-tr {
+       background-image: url(../images/default/window/right-corners.png);
+}
+.x-window-bc {
+       background-image: url(../images/default/window/top-bottom.png);
+}
+.x-window-bl {
+       background-image: url(../images/default/window/left-corners.png);
+}
+.x-window-br {
+       background-image: url(../images/default/window/right-corners.png);
+}
+.x-window-mc {
+    border-color:#99bbe8;
+    font: normal 11px tahoma,arial,helvetica,sans-serif;
+    background-color:#dfe8f6;
+}
+.x-window-ml {
+       background-image: url(../images/default/window/left-right.png);
+}
+.x-window-mr {
+       background-image: url(../images/default/window/left-right.png);
+}
+.x-window-maximized .x-window-tc {
+    background-color:#fff;
+}
+.x-window-bbar .x-toolbar {
+    border-top-color:#99bbe8;
+}
+.x-panel-ghost .x-window-tl {
+    border-bottom-color:#99bbe8;
+}
+.x-panel-collapsed .x-window-tl {
+    border-bottom-color:#84a0c4;
+}
+.x-dlg-mask{
+   background-color:#ccc;
+}
+.x-window-plain .x-window-mc {
+    background-color: #ccd9e8;
+    border-color: #a3bae9 #dfe8f6 #dfe8f6 #a3bae9;
+}
+.x-window-plain .x-window-body {
+    border-color: #dfe8f6 #a3bae9 #a3bae9 #dfe8f6;
+}
+body.x-body-masked .x-window-plain .x-window-mc {
+    background-color: #ccd9e8;
+}
+.x-html-editor-wrap {
+    border-color:#a9bfd3;
+    background-color:#fff;
+}
+
+.x-html-editor-tb .x-edit-bold, .x-menu-item .x-edit-bold {
+    background-position:0 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);    
+}
+
+.x-html-editor-tb .x-edit-italic, .x-menu-item .x-edit-italic {
+    background-position:-16px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-underline, .x-menu-item .x-edit-underline {
+    background-position:-32px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-forecolor, .x-menu-item .x-edit-forecolor {
+    background-position:-160px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-backcolor, .x-menu-item .x-edit-backcolor {
+    background-position:-176px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-justifyleft, .x-menu-item .x-edit-justifyleft {
+    background-position:-112px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-justifycenter, .x-menu-item .x-edit-justifycenter {
+    background-position:-128px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-justifyright, .x-menu-item .x-edit-justifyright {
+    background-position:-144px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-insertorderedlist, .x-menu-item .x-edit-insertorderedlist {
+    background-position:-80px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-insertunorderedlist, .x-menu-item .x-edit-insertunorderedlist {
+    background-position:-96px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-increasefontsize, .x-menu-item .x-edit-increasefontsize {
+    background-position:-48px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-decreasefontsize, .x-menu-item .x-edit-decreasefontsize {
+    background-position:-64px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-sourceedit, .x-menu-item .x-edit-sourceedit {
+    background-position:-192px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}
+
+.x-html-editor-tb .x-edit-createlink, .x-menu-item .x-edit-createlink {
+    background-position:-208px 0;
+    background-image:url(../images/default/editor/tb-sprite.gif);
+}.x-panel-noborder .x-panel-header-noborder {
+    border-bottom-color:#99bbe8;
+}
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
+    border-bottom-color:#99bbe8;
+}
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
+    border-top-color:#99bbe8;
+}
+.x-tab-panel-bbar-noborder .x-toolbar {
+    border-top-color:#99bbe8;
+}
+.x-tab-panel-tbar-noborder .x-toolbar {
+    border-bottom-color:#99bbe8;
+}
+.x-border-layout-ct {
+    background-color:#dfe8f6;
+}
+.x-accordion-hd {
+       color:#222;
+    font-weight:normal;
+    background-image: url(../images/default/panel/light-hd.gif);
+}
+.x-layout-collapsed{
+    background-color:#d2e0f2;
+       border-color:#98c0f4;
+}
+.x-layout-collapsed-over{
+    background-color:#d9e8fb;
+}
+.x-layout-split-west .x-layout-mini {
+    background-image:url(../images/default/layout/mini-left.gif);
+}
+.x-layout-split-east .x-layout-mini {
+    background-image:url(../images/default/layout/mini-right.gif);
+}
+.x-layout-split-north .x-layout-mini {
+    background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-layout-split-south .x-layout-mini {
+    background-image:url(../images/default/layout/mini-bottom.gif);
+}
+.x-layout-cmini-west .x-layout-mini {
+    background-image:url(../images/default/layout/mini-right.gif);
+}
+.x-layout-cmini-east .x-layout-mini {
+    background-image:url(../images/default/layout/mini-left.gif);
+}
+.x-layout-cmini-north .x-layout-mini {
+    background-image:url(../images/default/layout/mini-bottom.gif);
+}
+.x-layout-cmini-south .x-layout-mini {
+    background-image:url(../images/default/layout/mini-top.gif);
+}
+.x-progress-wrap {
+    border-color:#6593cf;
+}
+.x-progress-inner {
+    background-color:#e0e8f3;
+    background-image:url(../images/default/qtip/bg.gif);
+}
+.x-progress-bar {
+    background-color:#9cbfee;
+    background-image:url(../images/default/progress/progress-bg.gif);
+    border-top-color:#d1e4fd;
+    border-bottom-color:#7fa9e4;
+    border-right-color:#7fa9e4;
+}
+.x-progress-text {
+    font-size:11px;
+    font-weight:bold;
+    color:#fff;
+}
+.x-progress-text-back {
+    color:#396095;
+}
+.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner {
+    background-image:url(../images/default/slider/slider-bg.png);
+}
+.x-slider-horz .x-slider-thumb {
+    background-image:url(../images/default/slider/slider-thumb.png);
+}
+.x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner {
+    background-image:url(../images/default/slider/slider-v-bg.png);
+}
+.x-slider-vert .x-slider-thumb {
+    background-image:url(../images/default/slider/slider-v-thumb.png);
+}
+.x-window-dlg .ext-mb-text,
+.x-window-dlg .x-window-header-text {
+    font-size:12px;
+}
+.x-window-dlg .ext-mb-textarea {
+    font:normal 12px tahoma,arial,helvetica,sans-serif;
+}
+.x-window-dlg .x-msg-box-wait {
+    background-image:url(../images/default/grid/loading.gif);
+}
+.x-window-dlg .ext-mb-info {
+    background-image:url(../images/default/window/icon-info.gif);
+}
+.x-window-dlg .ext-mb-warning {
+    background-image:url(../images/default/window/icon-warning.gif);
+}
+.x-window-dlg .ext-mb-question {
+    background-image:url(../images/default/window/icon-question.gif);
+}
+.x-window-dlg .ext-mb-error {
+    background-image:url(../images/default/window/icon-error.gif);
+}
diff --git a/weekly-report/war/gxt/css/gxt-gray.css b/weekly-report/war/gxt/css/gxt-gray.css
new file mode 100644 (file)
index 0000000..5837c1b
--- /dev/null
@@ -0,0 +1,478 @@
+/*\r
+ * Ext GWT Library 2.0.1\r
+ * Copyright(c) 2006-2009, Ext JS, LLC.\r
+ * licensing@extjs.com\r
+ * \r
+ * http://extjs.com/license\r
+ */\r
+.x-panel {\r
+    border-style: solid;\r
+    border-color: #d0d0d0;\r
+}\r
+.x-panel-header {\r
+    color:#333;\r
+       border:1px solid #d0d0d0;\r
+    background-image:url(../images/gray/panel/white-top-bottom.gif);\r
+}\r
+\r
+.x-panel-body {\r
+    border-color:#d0d0d0;\r
+}\r
+\r
+.x-panel-bbar .x-toolbar {\r
+    border-color:#d0d0d0;\r
+}\r
+\r
+.x-panel-tbar .x-toolbar {\r
+    border-color:#d0d0d0;\r
+}\r
+\r
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {\r
+    border-color:#d0d0d0;\r
+}\r
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {\r
+    border-color:#d0d0d0;\r
+}\r
+.x-panel-tl .x-panel-header {\r
+    color:#333;\r
+}\r
+.x-panel-tc {\r
+       background-image:url(../images/gray/panel/top-bottom.gif);\r
+}\r
+.x-panel-tl {\r
+       background-image:url(../images/gray/panel/corners-sprite.gif);\r
+    border-color:#d0d0d0;\r
+}\r
+.x-panel-tr {\r
+       background-image:url(../images/gray/panel/corners-sprite.gif);\r
+}\r
+.x-panel-bc {\r
+       background-image:url(../images/gray/panel/top-bottom.gif);\r
+}\r
+.x-panel-bl {\r
+       background-image:url(../images/gray/panel/corners-sprite.gif);\r
+}\r
+.x-panel-br {\r
+       background-image:url(../images/gray/panel/corners-sprite.gif);\r
+}\r
+.x-panel-mc {\r
+    background:#f1f1f1;\r
+}\r
+.x-panel-mc .x-panel-body {\r
+    background:transparent;\r
+    border: 0 none;\r
+}\r
+.x-panel-ml {\r
+       background-image:url(../images/gray/panel/left-right.gif);\r
+}\r
+.x-panel-mr {\r
+       background-image:url(../images/gray/panel/left-right.gif);\r
+}\r
+\r
+/* Tools */\r
+.x-tool {\r
+    background-image:url(../images/gray/panel/tool-sprites.gif);\r
+}\r
+\r
+/* Ghosting */\r
+.x-panel-ghost {\r
+    background:#e0e0e0;\r
+}\r
+\r
+.x-panel-ghost ul {\r
+    border-color:#b0b0b0;\r
+}\r
+\r
+.x-grid-panel .x-panel-mc .x-panel-body {\r
+    border:1px solid #d0d0d0;\r
+}\r
+\r
+/* Buttons */\r
+\r
+.x-btn-left{\r
+       background-image:url(../images/gray/button/btn-sprite.gif);\r
+}\r
+.x-btn-right{\r
+       background-image:url(../images/gray/button/btn-sprite.gif);\r
+}\r
+.x-btn-center{\r
+       background-image:url(../images/gray/button/btn-sprite.gif);\r
+}\r
+\r
+.x-btn-group-header {\r
+    color: #333333;\r
+}\r
+.x-btn-group-tc {\r
+       background-image: url(../images/gray/button/group-tb.gif);\r
+}\r
+.x-btn-group-tl {\r
+       background-image: url(../images/gray/button/group-cs.gif);\r
+}\r
+.x-btn-group-tr {\r
+       background-image: url(../images/gray/button/group-cs.gif);\r
+}\r
+.x-btn-group-bc {\r
+       background-image: url(../images/gray/button/group-tb.gif);\r
+}\r
+.x-btn-group-bl {\r
+       background-image: url(../images/gray/button/group-cs.gif);\r
+}\r
+.x-btn-group-br {\r
+       background-image: url(../images/gray/button/group-cs.gif);\r
+}\r
+.x-btn-group-ml {\r
+       background-image: url(../images/gray/button/group-lr.gif);\r
+}\r
+.x-btn-group-mr {\r
+       background-image: url(../images/gray/button/group-lr.gif);\r
+}\r
+.x-btn-group-notitle .x-btn-group-tc {\r
+       background-image: url(../images/gray/button/group-tb.gif);\r
+}\r
+\r
+/* Layout classes */\r
+\r
+.x-border-layout-ct {\r
+    background:#f0f0f0;\r
+}\r
+\r
+.x-accordion-hd {\r
+       background-image:url(../images/gray/panel/light-hd.gif);\r
+}\r
+\r
+.x-layout-collapsed{\r
+    background-color:#eee;\r
+    border-color:#e0e0e0;\r
+}\r
+.x-layout-collapsed-over{\r
+        background-color:#fbfbfb;\r
+}\r
+\r
+\r
+/* qtips */\r
+.x-tip .x-tip-top {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-top-left {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-top-right {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-ft {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-ft-left {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-ft-right {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-bd-left {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+.x-tip .x-tip-bd-right {\r
+       background-image:url(../images/gray/qtip/tip-sprite.gif);\r
+}\r
+\r
+/* Toolbars */\r
+\r
+.x-toolbar{\r
+       border-color:#d0d0d0;\r
+    background:#f0f4f5 url(../images/gray/toolbar/bg.gif) repeat-x top left;\r
+}\r
+.x-toolbar button {\r
+    color:#444;\r
+}\r
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {\r
+    background-image:url(../images/gray/toolbar/btn-arrow.gif);\r
+}\r
+.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {\r
+    background-image:url(../images/gray/toolbar/btn-arrow.gif);\r
+}\r
+.x-toolbar .x-btn-over .x-btn-left{\r
+       background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .x-btn-over .x-btn-right{\r
+       background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .x-btn-over .x-btn-center{\r
+       background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .x-btn-over button {\r
+    color:#111;\r
+}\r
+.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{\r
+       background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);\r
+}\r
+.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{\r
+       background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);\r
+}\r
+\r
+.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{\r
+       background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .ytb-sep {\r
+       background-image: url(../images/default/grid/grid-split.gif);\r
+}\r
+\r
+/* Tabs */\r
+\r
+.x-tab-panel-header, .x-tab-panel-footer {\r
+       background: #EAEAEA;\r
+       border-color:#d0d0d0;\r
+}\r
+\r
+\r
+.x-tab-panel-header {\r
+       border-color:#d0d0d0;\r
+}\r
+\r
+.x-tab-panel-footer {\r
+       border-color:#d0d0d0;\r
+}\r
+\r
+ul.x-tab-strip-top{\r
+       background:#dbdbdb url(../images/gray/tabs/tab-strip-bg.gif) repeat-x left top;\r
+       border-color:#d0d0d0;\r
+    padding-top: 2px;\r
+}\r
+\r
+ul.x-tab-strip-bottom{\r
+       background-image:url(../images/gray/tabs/tab-strip-btm-bg.gif);\r
+       border-color:#d0d0d0;\r
+}\r
+\r
+.x-tab-strip span.x-tab-strip-text {\r
+       color:#333;\r
+}\r
+.x-tab-strip-over span.x-tab-strip-text {\r
+       color:#111;\r
+}\r
+\r
+.x-tab-strip-active span.x-tab-strip-text {\r
+       color:#333;\r
+}\r
+\r
+.x-tab-strip-disabled .x-tabs-text {\r
+       color:#aaaaaa;\r
+}\r
+\r
+.x-tab-strip-top .x-tab-right {\r
+       background-image:url(../images/gray/tabs/tabs-sprite.gif);\r
+}\r
+\r
+.x-tab-strip-top .x-tab-left {\r
+       background-image:url(../images/gray/tabs/tabs-sprite.gif);\r
+}\r
+.x-tab-strip-top .x-tab-strip-inner {\r
+       background-image:url(../images/gray/tabs/tabs-sprite.gif);\r
+}\r
+\r
+.x-tab-strip-bottom .x-tab-right {\r
+       background-image:url(../images/gray/tabs/tab-btm-inactive-right-bg.gif);\r
+}\r
+\r
+.x-tab-strip-bottom .x-tab-left {\r
+       background-image:url(../images/gray/tabs/tab-btm-inactive-left-bg.gif);\r
+}\r
+\r
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {\r
+       background-image:url(../images/gray/tabs/tab-btm-right-bg.gif);\r
+}\r
+\r
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {\r
+       background-image:url(../images/gray/tabs/tab-btm-left-bg.gif);\r
+}\r
+\r
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {\r
+       background-image:url(../images/gray/tabs/tab-close.gif);\r
+}\r
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{\r
+       background-image:url(../images/gray/tabs/tab-close.gif);\r
+}\r
+\r
+.x-tab-panel-body {\r
+    border-color:#d0d0d0;\r
+    background:#fff;\r
+}\r
+.x-tab-panel-bbar .x-toolbar {\r
+    border-color: #d0d0d0;\r
+}\r
+\r
+.x-tab-panel-tbar .x-toolbar {\r
+    border-color: #d0d0d0;\r
+}\r
+\r
+.x-tab-panel-header-plain .x-tab-strip-spacer {\r
+    border-color:#d0d0d0;\r
+    background: #eaeaea;\r
+}\r
+\r
+.x-tab-scroller-left {\r
+    background-image: url(../images/gray/tabs/scroll-left.gif);\r
+    border-color:#aeaeae;\r
+}\r
+.x-tab-scroller-right {\r
+    background-image: url(../images/gray/tabs/scroll-right.gif);\r
+    border-color:#aeaeae;\r
+}\r
+\r
+/* Window */\r
+\r
+.x-window-proxy {\r
+    background:#e0e0e0;\r
+    border-color:#b0b0b0;\r
+}\r
+\r
+.x-window-tl .x-window-header {\r
+    color:#555;\r
+}\r
+.x-window-tc {\r
+       background-image:url(../images/gray/window/top-bottom.png);\r
+}\r
+.x-window-tl {\r
+       background-image:url(../images/gray/window/left-corners.png);\r
+}\r
+.x-window-tr {\r
+       background-image:url(../images/gray/window/right-corners.png);\r
+}\r
+.x-window-bc {\r
+       background-image:url(../images/gray/window/top-bottom.png);\r
+}\r
+.x-window-bl {\r
+       background-image:url(../images/gray/window/left-corners.png);\r
+}\r
+.x-window-br {\r
+       background-image:url(../images/gray/window/right-corners.png);\r
+}\r
+.x-window-mc {\r
+    border:1px solid #d0d0d0;\r
+    background:#e8e8e8;\r
+}\r
+\r
+.x-window-ml {\r
+       background-image:url(../images/gray/window/left-right.png);\r
+}\r
+.x-window-mr {\r
+       background-image:url(../images/gray/window/left-right.png);\r
+}\r
+.x-panel-ghost .x-window-tl {\r
+    border-color:#d0d0d0;\r
+}\r
+.x-panel-collapsed .x-window-tl {\r
+    border-color:#d0d0d0;\r
+}\r
+\r
+.x-window-plain .x-window-mc {\r
+    background: #e8e8e8;\r
+    border-right:1px solid #eee;\r
+    border-bottom:1px solid #eee;\r
+    border-top:1px solid #d0d0d0;\r
+    border-left:1px solid #d0d0d0;\r
+}\r
+\r
+.x-window-plain .x-window-body {\r
+    border-left:1px solid #eee;\r
+    border-top:1px solid #eee;\r
+    border-bottom:1px solid #d0d0d0;\r
+    border-right:1px solid #d0d0d0;\r
+    background:transparent !important;\r
+}\r
+\r
+body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {\r
+    background-color: #e4e4e4;\r
+}\r
+\r
+\r
+/* misc */\r
+.x-html-editor-wrap {\r
+    border-color:#d0d0d0;\r
+}\r
+\r
+/* Borders go last for specificity */\r
+.x-panel-noborder .x-panel-body-noborder {\r
+    border-width:0;\r
+}\r
+\r
+.x-panel-noborder .x-panel-header-noborder {\r
+    border-width:0;\r
+    border-bottom:1px solid #d0d0d0;\r
+}\r
+\r
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-bottom:1px solid #d0d0d0;\r
+}\r
+\r
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-top:1px solid #d0d0d0;\r
+}\r
+\r
+.x-window-noborder .x-window-mc {\r
+    border-width:0;\r
+}\r
+.x-window-plain .x-window-body-noborder {\r
+    border-width:0;\r
+}\r
+\r
+.x-tab-panel-noborder .x-tab-panel-body-noborder {\r
+       border-width:0;\r
+}\r
+\r
+.x-tab-panel-noborder .x-tab-panel-header-noborder {\r
+       border-top-width:0;\r
+       border-left-width:0;\r
+       border-right-width:0;\r
+}\r
+\r
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {\r
+       border-bottom-width:0;\r
+       border-left-width:0;\r
+       border-right-width:0;\r
+}\r
+\r
+\r
+.x-tab-panel-bbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-top:1px solid #d0d0d0;\r
+}\r
+\r
+.x-tab-panel-tbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-bottom:1px solid #d0d0d0;\r
+}.x-accordion-hd {\r
+       background-color: #e5e5e5;\r
+}.x-border {\r
+  border: 1px solid #D0D0D0;\r
+}\r
+\r
+.x-layout-popup {\r
+  background-color: #F0F0F0;\r
+  border: 1px solid #D0D0D0;\r
+}\r
+\r
+.my-list {\r
+  border: 1px solid #D0D0D0;\r
+}\r
+\r
+.x-view {\r
+  border:1px solid #D0D0D0;\r
+}.my-info {\r
+  background: url(../images/gray/info/info-bg.gif) no-repeat;\r
+}.x-date-right-icon {\r
+  background-image: url(../images/default/shared/right-btn.gif);\r
+  margin-right: 2px;\r
+  text-decoration: none !important;\r
+}\r
+\r
+.x-date-left-icon {\r
+  background-image: url(../images/default/shared/left-btn.gif);\r
+  margin-right: 2px;\r
+  text-decoration: none !important;\r
+}.my-tbl {\r
+       border: 1px solid #C6C5C5;\r
+}.my-treetbl {
+       border: 1px solid #C6C5C5;
+}
\ No newline at end of file
diff --git a/weekly-report/war/gxt/desktop/css/desktop.css b/weekly-report/war/gxt/desktop/css/desktop.css
new file mode 100644 (file)
index 0000000..0013ed9
--- /dev/null
@@ -0,0 +1,638 @@
+/*\r
+ * Ext JS Library 2.1\r
+ * Copyright(c) 2006-2008, Ext JS, LLC.\r
+ * licensing@extjs.com\r
+ * \r
+ * http://extjs.com/license\r
+ */\r
+html,body {\r
+  background: #3d71b8 url(../wallpapers/desktop.jpg) no-repeat left top;\r
+  font: normal 12px tahoma, arial, verdana, sans-serif;\r
+  margin: 0;\r
+  padding: 0;\r
+  border: 0 none;\r
+  overflow: hidden;\r
+  height: 100%;\r
+}\r
+\r
+.start {\r
+  background-image: url( ../images/taskbar/black/startbutton-icon.gif ) !important;\r
+}\r
+\r
+.bogus {\r
+  background-image: url( ../images/bogus.png ) !important;\r
+}\r
+\r
+.logout {\r
+  background-image: url( ../images/logout.gif ) !important;\r
+}\r
+\r
+.settings {\r
+  background-image: url( ../images/gears.gif ) !important;\r
+}\r
+\r
+#dpanels {\r
+  width: 250px;\r
+  float: right;\r
+}\r
+\r
+#dpanels .x-panel {\r
+  margin: 15px;\r
+}\r
+\r
+#dpanels .x-date-picker {\r
+  border: 0 none;\r
+  border-top: 0 none;\r
+  background: transparent;\r
+}\r
+\r
+#dpanels .x-date-picker td.x-date-active {\r
+  background: #ffffff;\r
+}\r
+\r
+#dpanels .x-date-picker {\r
+  width: 100% !important;\r
+}\r
+\r
+#x-desktop {\r
+  width: 100%;\r
+  height: 100%;\r
+  border: 0 none;\r
+  position: relative;\r
+  overflow: hidden;\r
+  zoom: 1;\r
+}\r
+\r
+#ux-taskbar .x-btn {\r
+  float: left;\r
+  margin: 1px 0 0 1px;\r
+  position: relative;\r
+}\r
+\r
+#ux-taskbar-start .x-btn {\r
+  float: left;\r
+  margin: 0;\r
+  position: relative;\r
+}\r
+\r
+#ux-taskbar button { /* width: 150px;\r
+       overflow: hidden; */\r
+  text-align: left;\r
+  color: #ffffff;\r
+}\r
+\r
+#title-bar-wrapper {\r
+  height: 35px;\r
+}\r
+\r
+#title-bar {\r
+  color: #225599;\r
+  padding: 9px 7px;\r
+  font: bold 16px tahoma, arial, verdana, sans-serif;\r
+  float: left;\r
+}\r
+\r
+#x-logout {\r
+  float: right;\r
+  padding: 6px 7px;\r
+}\r
+\r
+.x-btn-text-icon .x-btn-center .logout {\r
+  background-position: 0pt 3px;\r
+  background-repeat: no-repeat;\r
+  padding: 3px 0pt 3px 18px;\r
+}\r
+\r
+#ux-taskbar {\r
+  background: transparent none;\r
+  height: 30px;\r
+  margin: 0;\r
+  padding: 0;\r
+  position: relative;\r
+  z-index: 12001;\r
+}\r
+\r
+.x-btn-icon .ux-taskbutton-center .x-btn-text {\r
+  background-position: center;\r
+  background-repeat: no-repeat;\r
+  height: 16px;\r
+  width: 16px;\r
+  cursor: pointer;\r
+  white-space: nowrap;\r
+  padding: 0;\r
+}\r
+\r
+.x-btn-icon .ux-taskbutton-center {\r
+  padding: 1px;\r
+}\r
+\r
+.ux-startbutton-center .x-btn-text {\r
+  color: #000000 !important;\r
+  font-weight: bold;\r
+}\r
+\r
+.ux-taskbutton-left,.ux-taskbutton-right {\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+}\r
+\r
+.ux-taskbutton-left {\r
+  width: 4px;\r
+  height: 28px;\r
+  background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 0;\r
+}\r
+\r
+.ux-taskbutton-right {\r
+  width: 4px;\r
+  height: 28px;\r
+  background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 -28px;\r
+}\r
+\r
+.ux-taskbutton-left i,.ux-taskbutton-right i {\r
+  display: block;\r
+  width: 4px;\r
+  overflow: hidden;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+}\r
+\r
+.ux-taskbutton-center {\r
+  background: url( ../images/taskbar/black/taskbutton.gif ) repeat-x 0 -56px;\r
+  vertical-align: middle;\r
+  text-align: center;\r
+  padding: 0 5px;\r
+  cursor: pointer;\r
+  white-space: nowrap;\r
+}\r
+\r
+#ux-taskbar .ux-taskbutton-left {\r
+  background-position: 0 0;\r
+}\r
+\r
+#ux-taskbar .ux-taskbutton-right {\r
+  background-position: 0 -28px;\r
+}\r
+\r
+#ux-taskbar .ux-taskbutton-center {\r
+  background-position: 0 -56px;\r
+}\r
+\r
+#ux-taskbar .x-btn-over .ux-taskbutton-left {\r
+  background-position: 0 -252px;\r
+}\r
+\r
+#ux-taskbar .x-btn-over  .ux-taskbutton-right {\r
+  background-position: 0 -280px;\r
+}\r
+\r
+#ux-taskbar .x-btn-over .ux-taskbutton-center {\r
+  background-position: 0 -308px;\r
+}\r
+\r
+#ux-taskbar .x-btn-click .ux-taskbutton-left {\r
+  background-position: 0 -168px;\r
+}\r
+\r
+#ux-taskbar .x-btn-click  .ux-taskbutton-right {\r
+  background-position: 0 -196px;\r
+}\r
+\r
+#ux-taskbar .x-btn-click .ux-taskbutton-center {\r
+  background-position: 0 -224px;\r
+}\r
+\r
+#ux-taskbar .active-win .ux-taskbutton-left {\r
+  background-position: 0 -84px;\r
+}\r
+\r
+#ux-taskbar .active-win  .ux-taskbutton-right {\r
+  background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 -112px;\r
+}\r
+\r
+#ux-taskbar .active-win .ux-taskbutton-center {\r
+  background: url( ../images/taskbar/black/taskbutton.gif ) repeat-x 0 -140px;\r
+}\r
+\r
+#ux-taskbar .active-win .ux-taskbutton-center button {\r
+  color: #fff;\r
+}\r
+\r
+#spacer {\r
+  height: 25px;\r
+  float: left;\r
+  width: 0;\r
+  overflow: hidden;\r
+  margin-top: 2px;\r
+}\r
+\r
+.x-window-body p,.x-panel-body p {\r
+  padding: 10px;\r
+  margin: 0;\r
+}\r
+\r
+.x-window-maximized .x-window-bc {\r
+  height: 0;\r
+}\r
+\r
+.add {\r
+  background-image: url(../../shared/icons/fam/add.gif) !important;\r
+}\r
+\r
+.option {\r
+  background-image: url(../../shared/icons/fam/plugin.gif) !important;\r
+}\r
+\r
+.remove {\r
+  background-image: url(../../shared/icons/fam/delete.gif) !important;\r
+}\r
+\r
+.tabs {\r
+  background-image: url(../images/tabs.gif) !important;\r
+}\r
+\r
+.ux-start-menu {\r
+  background: transparent none;\r
+  border: 0px none;\r
+  padding: 0;\r
+}\r
+\r
+.ux-start-menu-tl .x-window-header {\r
+  color: #f1f1f1;\r
+  font: bold 11px tahoma, arial, verdana, sans-serif;\r
+  padding: 5px 0 4px 0;\r
+}\r
+\r
+.x-panel-tl .x-panel-icon,.ux-start-menu-tl .x-panel-icon {\r
+  background-position: 0pt 4px;\r
+  background-repeat: no-repeat;\r
+  padding-left: 20px !important;\r
+}\r
+\r
+.ux-start-menu-tl {\r
+  background: transparent url( ../images/taskbar/black/start-menu-left-corners.png ) no-repeat 0 0;\r
+  padding-left: 6px;\r
+  zoom: 1;\r
+  z-index: 1;\r
+  position: relative;\r
+}\r
+\r
+.ux-start-menu-tr {\r
+  background: transparent url( ../images/taskbar/black/start-menu-right-corners.png ) no-repeat right\r
+    0;\r
+  padding-right: 6px;\r
+}\r
+\r
+.ux-start-menu-tc {\r
+  background: transparent url( ../images/taskbar/black/start-menu-top-bottom.png ) repeat-x 0 0;\r
+  overflow: hidden;\r
+  zoom: 1;\r
+}\r
+\r
+.ux-start-menu-ml {\r
+  background: transparent url( ../images/taskbar/black/start-menu-left-right.png ) repeat-y 0 0;\r
+  padding-left: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.ux-start-menu-bc {\r
+  background: transparent url( ../images/taskbar/black/start-menu-top-bottom.png ) repeat-x 0 bottom;\r
+  zoom: 1;\r
+}\r
+\r
+.ux-start-menu-bc .x-window-footer {\r
+  padding-bottom: 6px;\r
+  zoom: 1;\r
+  font-size: 0;\r
+  line-height: 0;\r
+}\r
+\r
+.ux-start-menu-bl {\r
+  background: transparent url( ../images/taskbar/black/start-menu-left-corners.png ) no-repeat 0\r
+    bottom;\r
+  padding-left: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.ux-start-menu-br {\r
+  background: transparent url( ../images/taskbar/black/start-menu-right-corners.png ) no-repeat right\r
+    bottom;\r
+  padding-right: 6px;\r
+  zoom: 1;\r
+}\r
+\r
+.x-panel-nofooter .ux-start-menu-bc {\r
+  height: 6px;\r
+}\r
+\r
+.ux-start-menu-splitbar-h {\r
+  background-color: #d0d0d0;\r
+}\r
+\r
+.ux-start-menu-bwrap {\r
+  background: transparent none;\r
+  border: 0px none;\r
+}\r
+\r
+.ux-start-menu-body {\r
+  background: transparent none;\r
+  border: 0px none;\r
+}\r
+\r
+.ux-start-menu-apps-panel {\r
+  background: #ffffff none;\r
+  border: 1px solid #1e2124;\r
+}\r
+\r
+.ux-start-menu-tools-panel {\r
+  border: 0px none;\r
+  background: transparent url( ../images/taskbar/black/start-menu-right.png ) repeat-y scroll right\r
+    0pt;\r
+}\r
+\r
+#ux-taskbar-start {\r
+  background: #000000 url( ../images/taskbar/black/taskbar-start-panel-bg.gif ) repeat-x left top;\r
+  left: 0px;\r
+  padding: 0;\r
+  position: absolute;\r
+}\r
+\r
+#ux-taskbar-start .x-toolbar {\r
+  background: none;\r
+  padding: 0px;\r
+  border: 0px none;\r
+}\r
+\r
+#ux-taskbuttons-panel {\r
+  background: #000000 url( ../images/taskbar/black/taskbuttons-panel-bg.gif ) repeat-x left top;\r
+  padding-top: 0;\r
+  position: relative;\r
+}\r
+\r
+.ux-taskbuttons-strip-wrap { /* overflow:hidden;\r
+       position:relative;\r
+       width:100%; */\r
+  width: 100%;\r
+  overflow: hidden;\r
+  position: relative;\r
+  zoom: 1;\r
+}\r
+\r
+ul.ux-taskbuttons-strip {\r
+  display: block;\r
+  width: 5000px;\r
+  zoom: 1;\r
+}\r
+\r
+ul.ux-taskbuttons-strip li {\r
+  float: left;\r
+  margin-left: 2px;\r
+}\r
+\r
+ul.ux-taskbuttons-strip li.ux-taskbuttons-edge {\r
+  float: left;\r
+  margin: 0 !important;\r
+  padding: 0 !important;\r
+  border: 0 none !important;\r
+  font-size: 1px !important;\r
+  line-height: 1px !important;\r
+  overflow: hidden;\r
+  zoom: 1;\r
+  background: transparent !important;\r
+  width: 1px;\r
+}\r
+\r
+.x-clear {\r
+  clear: both;\r
+  height: 0;\r
+  overflow: hidden;\r
+  line-height: 0;\r
+  font-size: 0;\r
+}\r
+\r
+.x-taskbuttons-scrolling {\r
+  position: relative;\r
+}\r
+\r
+.x-taskbuttons-scrolling .ux-taskbuttons-strip-wrap {\r
+  margin-left: 18px;\r
+  margin-right: 18px;\r
+}\r
+\r
+td.ux-taskButtons-edge { /*float:left;*/\r
+  margin: 0 !important;\r
+  padding: 0 !important;\r
+  border: 0 none !important;\r
+  font-size: 1px !important;\r
+  line-height: 1px !important;\r
+  overflow: hidden;\r
+  zoom: 1;\r
+  background: transparent !important;\r
+  width: 1px;\r
+}\r
+\r
+.ux-taskbuttons-scroller-left {\r
+  background: transparent url( ../images/taskbar/black/scroll-left.gif ) no-repeat -18px 0;\r
+  width: 18px;\r
+  position: absolute;\r
+  left: 1px;\r
+  top: 0px;\r
+  z-index: 10;\r
+  cursor: pointer;\r
+}\r
+\r
+.ux-taskbuttons-scroller-left-over {\r
+  background-position: 0 0;\r
+}\r
+\r
+.ux-taskbuttons-scroller-left-disabled {\r
+  background-position: -18px 0;\r
+  opacity: .5;\r
+  -moz-opacity: .5;\r
+  filter: alpha(opacity =   50);\r
+  cursor: default;\r
+}\r
+\r
+.ux-taskbuttons-scroller-right {\r
+  background: transparent url( ../images/taskbar/black/scroll-right.gif ) no-repeat 0 0;\r
+  width: 18px;\r
+  position: absolute;\r
+  right: 0;\r
+  top: 0px;\r
+  z-index: 10;\r
+  cursor: pointer;\r
+}\r
+\r
+.ux-taskbuttons-scroller-right-over {\r
+  background-position: -18px 0;\r
+}\r
+\r
+.ux-taskbuttons-scroller-right-disabled {\r
+  background-position: 0 0;\r
+  opacity: .5;\r
+  -moz-opacity: .5;\r
+  filter: alpha(opacity =   50);\r
+  cursor: default;\r
+}\r
+\r
+.ux-toolmenu-sep {\r
+  background-color: #18191a;\r
+  border-bottom: 1px solid #858789;\r
+  display: block;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+  margin: 2px 3px;\r
+}\r
+\r
+.ux-start-menu-tools-panel ul.x-menu-list li.x-menu-list-item a.x-menu-item {\r
+  color: #ffffff;\r
+}\r
+\r
+.ux-start-menu-tools-panel ul.x-menu-list li.x-menu-list-item .x-menu-item-active a.x-menu-item {\r
+  color: #000000;\r
+}\r
+\r
+.ux-start-menu-tools-panel .x-menu-item-active {\r
+  background: #525456 url( ../images/taskbar/black/item-over.gif ) repeat-x left bottom;\r
+  border: 1px solid #000000;\r
+  padding: 0;\r
+}\r
+\r
+#ux-taskbar .x-splitbar-h {\r
+  background: #000000 url( ../images/taskbar/black/taskbar-split-h.gif ) no-repeat 0 0;\r
+  width: 8px;\r
+}\r
+\r
+.x-window-header-text {\r
+  cursor: default;\r
+}\r
+\r
+/*\r
+ * Begin Start button\r
+ */\r
+.ux-startbutton-left,.ux-startbutton-right {\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+}\r
+\r
+.ux-startbutton-left {\r
+  width: 10px;\r
+  height: 28px;\r
+  background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 0;\r
+}\r
+\r
+.ux-startbutton-right {\r
+  width: 10px;\r
+  height: 30px;\r
+  background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 -28px;\r
+}\r
+\r
+.ux-startbutton-left i,.ux-startbutton-right i {\r
+  display: block;\r
+  width: 10px;\r
+  overflow: hidden;\r
+  font-size: 1px;\r
+  line-height: 1px;\r
+}\r
+\r
+.ux-startbutton-center {\r
+  background: url( ../images/taskbar/black/startbutton.gif ) repeat-x 0 -56px;\r
+  vertical-align: middle;\r
+  text-align: center;\r
+  padding: 0;\r
+  cursor: pointer;\r
+  white-space: nowrap;\r
+}\r
+\r
+#ux-taskbar .ux-startbutton-left {\r
+  background-position: 0 0;\r
+}\r
+\r
+#ux-taskbar .ux-startbutton-right {\r
+  background-position: 0 -30px;\r
+}\r
+\r
+#ux-taskbar .ux-startbutton-center {\r
+  background-position: 0 -60px;\r
+}\r
+\r
+#ux-taskbar .x-btn-over .ux-startbutton-left {\r
+  background-position: 0 -270px;\r
+}\r
+\r
+#ux-taskbar .x-btn-over  .ux-startbutton-right {\r
+  background-position: 0 -300px;\r
+}\r
+\r
+#ux-taskbar .x-btn-over .ux-startbutton-center {\r
+  background-position: 0 -330px;\r
+}\r
+\r
+#ux-taskbar .x-btn-click .ux-startbutton-left {\r
+  background-position: 0 -180px;\r
+}\r
+\r
+#ux-taskbar .x-btn-click  .ux-startbutton-right {\r
+  background-position: 0 -210px;\r
+}\r
+\r
+#ux-taskbar .x-btn-click .ux-startbutton-center {\r
+  background-position: 0 -240px;\r
+}\r
+\r
+#ux-taskbar .active-win .ux-startbutton-left {\r
+  background-position: 0 -90px;\r
+}\r
+\r
+#ux-taskbar .active-win  .ux-startbutton-right {\r
+  background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 -120px;\r
+}\r
+\r
+#ux-taskbar .active-win .ux-startbutton-center {\r
+  background: url( ../images/taskbar/black/startbutton.gif ) repeat-x 0 -150px;\r
+}\r
+\r
+#ux-taskbar .active-win .ux-startbutton-center button {\r
+  color: #fff;\r
+}\r
+\r
+/*\r
+ * End Start button\r
+ */\r
+.x-resizable-proxy {\r
+  background: #C7DFFC;\r
+  opacity: .5;\r
+  -moz-opacity: .5;\r
+  filter: alpha(opacity =   50);\r
+  border: 1px solid #3b5a82;\r
+}\r
+\r
+/* Desktop Shortcuts */\r
+#x-shortcuts dt {\r
+  float: left;\r
+  margin: 15px 0 0 15px;\r
+  clear: left;\r
+  width: 64px;\r
+  font: normal 10px tahoma, arial, verdana, sans-serif;\r
+  text-align: center;\r
+  zoom: 1;\r
+  display: block;\r
+}\r
+\r
+#x-shortcuts dt a {\r
+  width: 64px;\r
+  display: block;\r
+  color: white;\r
+  text-decoration: none;\r
+}\r
+\r
+#x-shortcuts dt div {\r
+  width: 100%;\r
+  color: white;\r
+  overflow: hidden;\r
+  text-overflow: ellipsis;\r
+  cursor: pointer;\r
+}\r
+\r
+#x-shortcuts dt a:hover {\r
+  text-decoration: underline;\r
+}\r
diff --git a/weekly-report/war/gxt/desktop/images/desktop.gif b/weekly-report/war/gxt/desktop/images/desktop.gif
new file mode 100644 (file)
index 0000000..f305cb6
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/desktop.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/desktop3.jpg b/weekly-report/war/gxt/desktop/images/desktop3.jpg
new file mode 100644 (file)
index 0000000..daca8bc
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/desktop3.jpg differ
diff --git a/weekly-report/war/gxt/desktop/images/gears.gif b/weekly-report/war/gxt/desktop/images/gears.gif
new file mode 100644 (file)
index 0000000..2bf6bd7
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/gears.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/gears.png b/weekly-report/war/gxt/desktop/images/gears.png
new file mode 100644 (file)
index 0000000..6acdc98
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/gears.png differ
diff --git a/weekly-report/war/gxt/desktop/images/grid.png b/weekly-report/war/gxt/desktop/images/grid.png
new file mode 100644 (file)
index 0000000..c4da495
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/grid.png differ
diff --git a/weekly-report/war/gxt/desktop/images/hatch.gif b/weekly-report/war/gxt/desktop/images/hatch.gif
new file mode 100644 (file)
index 0000000..6a044a8
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/hatch.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/hd-bg.gif b/weekly-report/war/gxt/desktop/images/hd-bg.gif
new file mode 100644 (file)
index 0000000..f35a53f
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/hd-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/hd-tb-bg.gif b/weekly-report/war/gxt/desktop/images/hd-tb-bg.gif
new file mode 100644 (file)
index 0000000..f800edb
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/hd-tb-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/icon_padlock.png b/weekly-report/war/gxt/desktop/images/icon_padlock.png
new file mode 100644 (file)
index 0000000..92625ff
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/icon_padlock.png differ
diff --git a/weekly-report/war/gxt/desktop/images/icons-bg.png b/weekly-report/war/gxt/desktop/images/icons-bg.png
new file mode 100644 (file)
index 0000000..6557cbb
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/icons-bg.png differ
diff --git a/weekly-report/war/gxt/desktop/images/launcher-bg.gif b/weekly-report/war/gxt/desktop/images/launcher-bg.gif
new file mode 100644 (file)
index 0000000..c7cfd83
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/launcher-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/launcher-btn.gif b/weekly-report/war/gxt/desktop/images/launcher-btn.gif
new file mode 100644 (file)
index 0000000..a9a72d7
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/launcher-btn.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/logout.gif b/weekly-report/war/gxt/desktop/images/logout.gif
new file mode 100644 (file)
index 0000000..a4f3738
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/logout.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/logout.png b/weekly-report/war/gxt/desktop/images/logout.png
new file mode 100644 (file)
index 0000000..1fcb386
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/logout.png differ
diff --git a/weekly-report/war/gxt/desktop/images/member.gif b/weekly-report/war/gxt/desktop/images/member.gif
new file mode 100644 (file)
index 0000000..216c839
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/member.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/member.png b/weekly-report/war/gxt/desktop/images/member.png
new file mode 100644 (file)
index 0000000..0f3657f
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/member.png differ
diff --git a/weekly-report/war/gxt/desktop/images/powered.gif b/weekly-report/war/gxt/desktop/images/powered.gif
new file mode 100644 (file)
index 0000000..8ce74b8
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/powered.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/powered.png b/weekly-report/war/gxt/desktop/images/powered.png
new file mode 100644 (file)
index 0000000..5b2a0b8
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/powered.png differ
diff --git a/weekly-report/war/gxt/desktop/images/s.gif b/weekly-report/war/gxt/desktop/images/s.gif
new file mode 100644 (file)
index 0000000..1d11fa9
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/s.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/item-over.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/item-over.gif
new file mode 100644 (file)
index 0000000..26c1fc2
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/item-over.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/scroll-left.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/scroll-left.gif
new file mode 100644 (file)
index 0000000..94fea48
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/scroll-left.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/scroll-right.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/scroll-right.gif
new file mode 100644 (file)
index 0000000..94b5669
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/scroll-right.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-corners.png b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-corners.png
new file mode 100644 (file)
index 0000000..d6e5196
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-corners.png differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-right.png b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-right.png
new file mode 100644 (file)
index 0000000..a577d1b
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-left-right.png differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right-corners.png b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right-corners.png
new file mode 100644 (file)
index 0000000..b683301
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right-corners.png differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right.png b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right.png
new file mode 100644 (file)
index 0000000..e5fa2b8
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-right.png differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png
new file mode 100644 (file)
index 0000000..fbea3cb
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/start-menu-top-bottom.png differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/startbutton-icon.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/startbutton-icon.gif
new file mode 100644 (file)
index 0000000..8dcd2d1
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/startbutton-icon.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/startbutton.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/startbutton.gif
new file mode 100644 (file)
index 0000000..683313e
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/startbutton.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-split-h.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-split-h.gif
new file mode 100644 (file)
index 0000000..13564ad
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-split-h.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif
new file mode 100644 (file)
index 0000000..9794880
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbar-start-panel-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/taskbutton.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbutton.gif
new file mode 100644 (file)
index 0000000..df13974
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbutton.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif
new file mode 100644 (file)
index 0000000..0865c45
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/taskbar/black/taskbuttons-panel-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/winbar-bg.gif b/weekly-report/war/gxt/desktop/images/winbar-bg.gif
new file mode 100644 (file)
index 0000000..45295a6
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/winbar-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/winbar-btn.gif b/weekly-report/war/gxt/desktop/images/winbar-btn.gif
new file mode 100644 (file)
index 0000000..2c8c024
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/winbar-btn.gif differ
diff --git a/weekly-report/war/gxt/desktop/images/windows-bg.gif b/weekly-report/war/gxt/desktop/images/windows-bg.gif
new file mode 100644 (file)
index 0000000..396471e
Binary files /dev/null and b/weekly-report/war/gxt/desktop/images/windows-bg.gif differ
diff --git a/weekly-report/war/gxt/desktop/wallpapers/desktop.jpg b/weekly-report/war/gxt/desktop/wallpapers/desktop.jpg
new file mode 100644 (file)
index 0000000..8e1fcb0
Binary files /dev/null and b/weekly-report/war/gxt/desktop/wallpapers/desktop.jpg differ
diff --git a/weekly-report/war/gxt/flash/swfobject.js b/weekly-report/war/gxt/flash/swfobject.js
new file mode 100644 (file)
index 0000000..4b704c5
--- /dev/null
@@ -0,0 +1,5 @@
+/* SWFObject v2.1 <http://code.google.com/p/swfobject/>\r
+       Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis\r
+       This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>\r
+*/\r
+var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();
\ No newline at end of file
diff --git a/weekly-report/war/gxt/images/default/box/corners-blue.gif b/weekly-report/war/gxt/images/default/box/corners-blue.gif
new file mode 100644 (file)
index 0000000..fa419b5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/corners-blue.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/corners.gif b/weekly-report/war/gxt/images/default/box/corners.gif
new file mode 100644 (file)
index 0000000..8aa8cae
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/corners.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/l-blue.gif b/weekly-report/war/gxt/images/default/box/l-blue.gif
new file mode 100644 (file)
index 0000000..5ed7f00
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/l-blue.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/l.gif b/weekly-report/war/gxt/images/default/box/l.gif
new file mode 100644 (file)
index 0000000..0160f97
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/l.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/r-blue.gif b/weekly-report/war/gxt/images/default/box/r-blue.gif
new file mode 100644 (file)
index 0000000..3ea5cae
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/r-blue.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/r.gif b/weekly-report/war/gxt/images/default/box/r.gif
new file mode 100644 (file)
index 0000000..34237f6
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/r.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/tb-blue.gif b/weekly-report/war/gxt/images/default/box/tb-blue.gif
new file mode 100644 (file)
index 0000000..562fecc
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/tb-blue.gif differ
diff --git a/weekly-report/war/gxt/images/default/box/tb.gif b/weekly-report/war/gxt/images/default/box/tb.gif
new file mode 100644 (file)
index 0000000..435889b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/box/tb.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/arrow.gif b/weekly-report/war/gxt/images/default/button/arrow.gif
new file mode 100644 (file)
index 0000000..3ab4f71
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/arrow.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/btn-arrow.gif b/weekly-report/war/gxt/images/default/button/btn-arrow.gif
new file mode 100644 (file)
index 0000000..f90d5df
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/btn-arrow.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/btn-sprite.gif b/weekly-report/war/gxt/images/default/button/btn-sprite.gif
new file mode 100644 (file)
index 0000000..b52e0ce
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/btn.gif b/weekly-report/war/gxt/images/default/button/btn.gif
new file mode 100644 (file)
index 0000000..06b404d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/btn.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/group-cs.gif b/weekly-report/war/gxt/images/default/button/group-cs.gif
new file mode 100644 (file)
index 0000000..3d1dca8
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/group-cs.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/group-lr.gif b/weekly-report/war/gxt/images/default/button/group-lr.gif
new file mode 100644 (file)
index 0000000..7c549f9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/group-lr.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/group-tb.gif b/weekly-report/war/gxt/images/default/button/group-tb.gif
new file mode 100644 (file)
index 0000000..adeb0a4
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/group-tb.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/s-arrow-b-noline.gif b/weekly-report/war/gxt/images/default/button/s-arrow-b-noline.gif
new file mode 100644 (file)
index 0000000..a4220ee
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/s-arrow-b-noline.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/s-arrow-b.gif b/weekly-report/war/gxt/images/default/button/s-arrow-b.gif
new file mode 100644 (file)
index 0000000..84b6470
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/s-arrow-b.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/s-arrow-bo.gif b/weekly-report/war/gxt/images/default/button/s-arrow-bo.gif
new file mode 100644 (file)
index 0000000..7410170
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/s-arrow-bo.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/s-arrow-noline.gif b/weekly-report/war/gxt/images/default/button/s-arrow-noline.gif
new file mode 100644 (file)
index 0000000..0953eab
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/s-arrow-noline.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/s-arrow-o.gif b/weekly-report/war/gxt/images/default/button/s-arrow-o.gif
new file mode 100644 (file)
index 0000000..89c70f3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/s-arrow-o.gif differ
diff --git a/weekly-report/war/gxt/images/default/button/s-arrow.gif b/weekly-report/war/gxt/images/default/button/s-arrow.gif
new file mode 100644 (file)
index 0000000..8940774
Binary files /dev/null and b/weekly-report/war/gxt/images/default/button/s-arrow.gif differ
diff --git a/weekly-report/war/gxt/images/default/dd/drop-add.gif b/weekly-report/war/gxt/images/default/dd/drop-add.gif
new file mode 100644 (file)
index 0000000..b22cd14
Binary files /dev/null and b/weekly-report/war/gxt/images/default/dd/drop-add.gif differ
diff --git a/weekly-report/war/gxt/images/default/dd/drop-no.gif b/weekly-report/war/gxt/images/default/dd/drop-no.gif
new file mode 100644 (file)
index 0000000..08d0833
Binary files /dev/null and b/weekly-report/war/gxt/images/default/dd/drop-no.gif differ
diff --git a/weekly-report/war/gxt/images/default/dd/drop-yes.gif b/weekly-report/war/gxt/images/default/dd/drop-yes.gif
new file mode 100644 (file)
index 0000000..8aacb30
Binary files /dev/null and b/weekly-report/war/gxt/images/default/dd/drop-yes.gif differ
diff --git a/weekly-report/war/gxt/images/default/editor/tb-sprite.gif b/weekly-report/war/gxt/images/default/editor/tb-sprite.gif
new file mode 100644 (file)
index 0000000..fb70577
Binary files /dev/null and b/weekly-report/war/gxt/images/default/editor/tb-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/checkbox.gif b/weekly-report/war/gxt/images/default/form/checkbox.gif
new file mode 100644 (file)
index 0000000..835b346
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/checkbox.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/clear-trigger.gif b/weekly-report/war/gxt/images/default/form/clear-trigger.gif
new file mode 100644 (file)
index 0000000..da78d45
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/clear-trigger.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/date-trigger.gif b/weekly-report/war/gxt/images/default/form/date-trigger.gif
new file mode 100644 (file)
index 0000000..25ef7b3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/date-trigger.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/error-tip-corners.gif b/weekly-report/war/gxt/images/default/form/error-tip-corners.gif
new file mode 100644 (file)
index 0000000..6ea4c38
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/error-tip-corners.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/exclamation.gif b/weekly-report/war/gxt/images/default/form/exclamation.gif
new file mode 100644 (file)
index 0000000..ea31a30
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/exclamation.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/radio.gif b/weekly-report/war/gxt/images/default/form/radio.gif
new file mode 100644 (file)
index 0000000..36bb91d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/radio.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/search-trigger.gif b/weekly-report/war/gxt/images/default/form/search-trigger.gif
new file mode 100644 (file)
index 0000000..db8802b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/search-trigger.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/text-bg.gif b/weekly-report/war/gxt/images/default/form/text-bg.gif
new file mode 100644 (file)
index 0000000..4179607
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/text-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/trigger-tpl.gif b/weekly-report/war/gxt/images/default/form/trigger-tpl.gif
new file mode 100644 (file)
index 0000000..e3701a3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/trigger-tpl.gif differ
diff --git a/weekly-report/war/gxt/images/default/form/trigger.gif b/weekly-report/war/gxt/images/default/form/trigger.gif
new file mode 100644 (file)
index 0000000..fa56314
Binary files /dev/null and b/weekly-report/war/gxt/images/default/form/trigger.gif differ
diff --git a/weekly-report/war/gxt/images/default/gradient-bg.gif b/weekly-report/war/gxt/images/default/gradient-bg.gif
new file mode 100644 (file)
index 0000000..8134e49
Binary files /dev/null and b/weekly-report/war/gxt/images/default/gradient-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/arrow-left-white.gif b/weekly-report/war/gxt/images/default/grid/arrow-left-white.gif
new file mode 100644 (file)
index 0000000..63088f5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/arrow-left-white.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/arrow-right-white.gif b/weekly-report/war/gxt/images/default/grid/arrow-right-white.gif
new file mode 100644 (file)
index 0000000..e9e0678
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/arrow-right-white.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/col-move-bottom.gif b/weekly-report/war/gxt/images/default/grid/col-move-bottom.gif
new file mode 100644 (file)
index 0000000..cc1e473
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/col-move-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/col-move-top.gif b/weekly-report/war/gxt/images/default/grid/col-move-top.gif
new file mode 100644 (file)
index 0000000..58ff32c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/col-move-top.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/columns.gif b/weekly-report/war/gxt/images/default/grid/columns.gif
new file mode 100644 (file)
index 0000000..2d3a823
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/columns.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/dirty.gif b/weekly-report/war/gxt/images/default/grid/dirty.gif
new file mode 100644 (file)
index 0000000..4f217a4
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/dirty.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/done.gif b/weekly-report/war/gxt/images/default/grid/done.gif
new file mode 100644 (file)
index 0000000..a937cb2
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/done.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/drop-no.gif b/weekly-report/war/gxt/images/default/grid/drop-no.gif
new file mode 100644 (file)
index 0000000..31a332b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/drop-no.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/drop-yes.gif b/weekly-report/war/gxt/images/default/grid/drop-yes.gif
new file mode 100644 (file)
index 0000000..926010e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/drop-yes.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/footer-bg.gif b/weekly-report/war/gxt/images/default/grid/footer-bg.gif
new file mode 100644 (file)
index 0000000..126120f
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/footer-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid-blue-hd.gif b/weekly-report/war/gxt/images/default/grid/grid-blue-hd.gif
new file mode 100644 (file)
index 0000000..862094e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid-blue-hd.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid-blue-split.gif b/weekly-report/war/gxt/images/default/grid/grid-blue-split.gif
new file mode 100644 (file)
index 0000000..5286f58
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid-blue-split.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid-hrow.gif b/weekly-report/war/gxt/images/default/grid/grid-hrow.gif
new file mode 100644 (file)
index 0000000..6374104
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid-hrow.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid-loading.gif b/weekly-report/war/gxt/images/default/grid/grid-loading.gif
new file mode 100644 (file)
index 0000000..d112c54
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid-loading.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid-split.gif b/weekly-report/war/gxt/images/default/grid/grid-split.gif
new file mode 100644 (file)
index 0000000..c76a16e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid-split.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid-vista-hd.gif b/weekly-report/war/gxt/images/default/grid/grid-vista-hd.gif
new file mode 100644 (file)
index 0000000..d097263
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid-vista-hd.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid3-hd-btn.gif b/weekly-report/war/gxt/images/default/grid/grid3-hd-btn.gif
new file mode 100644 (file)
index 0000000..7d9ff0d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid3-hd-btn.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid3-hrow-group.gif b/weekly-report/war/gxt/images/default/grid/grid3-hrow-group.gif
new file mode 100644 (file)
index 0000000..27a395a
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid3-hrow-group.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid3-hrow-over.gif b/weekly-report/war/gxt/images/default/grid/grid3-hrow-over.gif
new file mode 100644 (file)
index 0000000..f9c07af
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid3-hrow-over.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid3-hrow.gif b/weekly-report/war/gxt/images/default/grid/grid3-hrow.gif
new file mode 100644 (file)
index 0000000..8d459a3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid3-hrow.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid3-special-col-bg.gif b/weekly-report/war/gxt/images/default/grid/grid3-special-col-bg.gif
new file mode 100644 (file)
index 0000000..0b4d6ca
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid3-special-col-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/grid3-special-col-sel-bg.gif b/weekly-report/war/gxt/images/default/grid/grid3-special-col-sel-bg.gif
new file mode 100644 (file)
index 0000000..1dfe9a6
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/grid3-special-col-sel-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/group-by.gif b/weekly-report/war/gxt/images/default/grid/group-by.gif
new file mode 100644 (file)
index 0000000..d6075bb
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/group-by.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/group-expand-sprite.gif b/weekly-report/war/gxt/images/default/grid/group-expand-sprite.gif
new file mode 100644 (file)
index 0000000..9c1653b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/group-expand-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/hd-pop.gif b/weekly-report/war/gxt/images/default/grid/hd-pop.gif
new file mode 100644 (file)
index 0000000..eb8ba79
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hd-pop.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/hmenu-asc.gif b/weekly-report/war/gxt/images/default/grid/hmenu-asc.gif
new file mode 100644 (file)
index 0000000..8917e0e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hmenu-asc.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/hmenu-desc.gif b/weekly-report/war/gxt/images/default/grid/hmenu-desc.gif
new file mode 100644 (file)
index 0000000..f26b7c2
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hmenu-desc.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/hmenu-lock.gif b/weekly-report/war/gxt/images/default/grid/hmenu-lock.gif
new file mode 100644 (file)
index 0000000..1596126
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hmenu-lock.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/hmenu-lock.png b/weekly-report/war/gxt/images/default/grid/hmenu-lock.png
new file mode 100644 (file)
index 0000000..8b81e7f
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hmenu-lock.png differ
diff --git a/weekly-report/war/gxt/images/default/grid/hmenu-unlock.gif b/weekly-report/war/gxt/images/default/grid/hmenu-unlock.gif
new file mode 100644 (file)
index 0000000..af59cf9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hmenu-unlock.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/hmenu-unlock.png b/weekly-report/war/gxt/images/default/grid/hmenu-unlock.png
new file mode 100644 (file)
index 0000000..9dd5df3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/hmenu-unlock.png differ
diff --git a/weekly-report/war/gxt/images/default/grid/invalid_line.gif b/weekly-report/war/gxt/images/default/grid/invalid_line.gif
new file mode 100644 (file)
index 0000000..fb7e0f3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/invalid_line.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/loading.gif b/weekly-report/war/gxt/images/default/grid/loading.gif
new file mode 100644 (file)
index 0000000..e846e1d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/loading.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/mso-hd.gif b/weekly-report/war/gxt/images/default/grid/mso-hd.gif
new file mode 100644 (file)
index 0000000..669f3cf
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/mso-hd.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/nowait.gif b/weekly-report/war/gxt/images/default/grid/nowait.gif
new file mode 100644 (file)
index 0000000..4c5862c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/nowait.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-first-disabled.gif b/weekly-report/war/gxt/images/default/grid/page-first-disabled.gif
new file mode 100644 (file)
index 0000000..1e02c41
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-first-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-first.gif b/weekly-report/war/gxt/images/default/grid/page-first.gif
new file mode 100644 (file)
index 0000000..d84f41a
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-first.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-last-disabled.gif b/weekly-report/war/gxt/images/default/grid/page-last-disabled.gif
new file mode 100644 (file)
index 0000000..8697067
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-last-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-last.gif b/weekly-report/war/gxt/images/default/grid/page-last.gif
new file mode 100644 (file)
index 0000000..3df5c2b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-last.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-next-disabled.gif b/weekly-report/war/gxt/images/default/grid/page-next-disabled.gif
new file mode 100644 (file)
index 0000000..90a7756
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-next-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-next.gif b/weekly-report/war/gxt/images/default/grid/page-next.gif
new file mode 100644 (file)
index 0000000..9601635
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-next.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-prev-disabled.gif b/weekly-report/war/gxt/images/default/grid/page-prev-disabled.gif
new file mode 100644 (file)
index 0000000..37154d6
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-prev-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/page-prev.gif b/weekly-report/war/gxt/images/default/grid/page-prev.gif
new file mode 100644 (file)
index 0000000..eb70cf8
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/page-prev.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/pick-button.gif b/weekly-report/war/gxt/images/default/grid/pick-button.gif
new file mode 100644 (file)
index 0000000..6957924
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/pick-button.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/refresh.gif b/weekly-report/war/gxt/images/default/grid/refresh.gif
new file mode 100644 (file)
index 0000000..110f684
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/refresh.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/row-check-sprite.gif b/weekly-report/war/gxt/images/default/grid/row-check-sprite.gif
new file mode 100644 (file)
index 0000000..6101164
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/row-check-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/row-expand-sprite.gif b/weekly-report/war/gxt/images/default/grid/row-expand-sprite.gif
new file mode 100644 (file)
index 0000000..6f4d874
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/row-expand-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/row-over.gif b/weekly-report/war/gxt/images/default/grid/row-over.gif
new file mode 100644 (file)
index 0000000..b288e38
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/row-over.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/row-sel.gif b/weekly-report/war/gxt/images/default/grid/row-sel.gif
new file mode 100644 (file)
index 0000000..98209e6
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/row-sel.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/sort-hd.gif b/weekly-report/war/gxt/images/default/grid/sort-hd.gif
new file mode 100644 (file)
index 0000000..45e545f
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/sort-hd.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/sort_asc.gif b/weekly-report/war/gxt/images/default/grid/sort_asc.gif
new file mode 100644 (file)
index 0000000..67a2a4c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/sort_asc.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/sort_desc.gif b/weekly-report/war/gxt/images/default/grid/sort_desc.gif
new file mode 100644 (file)
index 0000000..34db47c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/sort_desc.gif differ
diff --git a/weekly-report/war/gxt/images/default/grid/wait.gif b/weekly-report/war/gxt/images/default/grid/wait.gif
new file mode 100644 (file)
index 0000000..471c1a4
Binary files /dev/null and b/weekly-report/war/gxt/images/default/grid/wait.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/collapse.gif b/weekly-report/war/gxt/images/default/layout/collapse.gif
new file mode 100644 (file)
index 0000000..d87b0a9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/collapse.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/expand.gif b/weekly-report/war/gxt/images/default/layout/expand.gif
new file mode 100644 (file)
index 0000000..7b6e1c1
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/expand.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/gradient-bg.gif b/weekly-report/war/gxt/images/default/layout/gradient-bg.gif
new file mode 100644 (file)
index 0000000..8134e49
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/gradient-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/mini-bottom.gif b/weekly-report/war/gxt/images/default/layout/mini-bottom.gif
new file mode 100644 (file)
index 0000000..c18f9e3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/mini-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/mini-left.gif b/weekly-report/war/gxt/images/default/layout/mini-left.gif
new file mode 100644 (file)
index 0000000..99f7993
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/mini-left.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/mini-right.gif b/weekly-report/war/gxt/images/default/layout/mini-right.gif
new file mode 100644 (file)
index 0000000..5b13c5a
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/mini-right.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/mini-top.gif b/weekly-report/war/gxt/images/default/layout/mini-top.gif
new file mode 100644 (file)
index 0000000..a4ca2bb
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/mini-top.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/ns-collapse.gif b/weekly-report/war/gxt/images/default/layout/ns-collapse.gif
new file mode 100644 (file)
index 0000000..df2a77e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/ns-collapse.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/ns-expand.gif b/weekly-report/war/gxt/images/default/layout/ns-expand.gif
new file mode 100644 (file)
index 0000000..77ab9da
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/ns-expand.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/panel-close.gif b/weekly-report/war/gxt/images/default/layout/panel-close.gif
new file mode 100644 (file)
index 0000000..2bdd623
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/panel-close.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/panel-title-bg.gif b/weekly-report/war/gxt/images/default/layout/panel-title-bg.gif
new file mode 100644 (file)
index 0000000..d1daef5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/panel-title-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/panel-title-light-bg.gif b/weekly-report/war/gxt/images/default/layout/panel-title-light-bg.gif
new file mode 100644 (file)
index 0000000..8c2c83d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/panel-title-light-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/stick.gif b/weekly-report/war/gxt/images/default/layout/stick.gif
new file mode 100644 (file)
index 0000000..5a1e8ba
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/stick.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/stuck.gif b/weekly-report/war/gxt/images/default/layout/stuck.gif
new file mode 100644 (file)
index 0000000..0a8de4d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/stuck.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/tab-close-on.gif b/weekly-report/war/gxt/images/default/layout/tab-close-on.gif
new file mode 100644 (file)
index 0000000..eacea39
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/tab-close-on.gif differ
diff --git a/weekly-report/war/gxt/images/default/layout/tab-close.gif b/weekly-report/war/gxt/images/default/layout/tab-close.gif
new file mode 100644 (file)
index 0000000..45db61e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/layout/tab-close.gif differ
diff --git a/weekly-report/war/gxt/images/default/menu/checked.gif b/weekly-report/war/gxt/images/default/menu/checked.gif
new file mode 100644 (file)
index 0000000..fad5893
Binary files /dev/null and b/weekly-report/war/gxt/images/default/menu/checked.gif differ
diff --git a/weekly-report/war/gxt/images/default/menu/group-checked.gif b/weekly-report/war/gxt/images/default/menu/group-checked.gif
new file mode 100644 (file)
index 0000000..d30b3e5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/menu/group-checked.gif differ
diff --git a/weekly-report/war/gxt/images/default/menu/item-over.gif b/weekly-report/war/gxt/images/default/menu/item-over.gif
new file mode 100644 (file)
index 0000000..0167839
Binary files /dev/null and b/weekly-report/war/gxt/images/default/menu/item-over.gif differ
diff --git a/weekly-report/war/gxt/images/default/menu/menu-parent.gif b/weekly-report/war/gxt/images/default/menu/menu-parent.gif
new file mode 100644 (file)
index 0000000..1e37562
Binary files /dev/null and b/weekly-report/war/gxt/images/default/menu/menu-parent.gif differ
diff --git a/weekly-report/war/gxt/images/default/menu/menu.gif b/weekly-report/war/gxt/images/default/menu/menu.gif
new file mode 100644 (file)
index 0000000..30a2c4b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/menu/menu.gif differ
diff --git a/weekly-report/war/gxt/images/default/menu/unchecked.gif b/weekly-report/war/gxt/images/default/menu/unchecked.gif
new file mode 100644 (file)
index 0000000..43823e5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/menu/unchecked.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/corners-sprite.gif b/weekly-report/war/gxt/images/default/panel/corners-sprite.gif
new file mode 100644 (file)
index 0000000..aa0d0ed
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/left-right.gif b/weekly-report/war/gxt/images/default/panel/left-right.gif
new file mode 100644 (file)
index 0000000..9fae2d5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/left-right.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/light-hd.gif b/weekly-report/war/gxt/images/default/panel/light-hd.gif
new file mode 100644 (file)
index 0000000..58d6747
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/light-hd.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/tool-sprite-tpl.gif b/weekly-report/war/gxt/images/default/panel/tool-sprite-tpl.gif
new file mode 100644 (file)
index 0000000..e647867
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/tool-sprite-tpl.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/tool-sprites.gif b/weekly-report/war/gxt/images/default/panel/tool-sprites.gif
new file mode 100644 (file)
index 0000000..9a3c5b9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/tool-sprites.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/tools-sprites-trans.gif b/weekly-report/war/gxt/images/default/panel/tools-sprites-trans.gif
new file mode 100644 (file)
index 0000000..ead931e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/tools-sprites-trans.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/top-bottom.gif b/weekly-report/war/gxt/images/default/panel/top-bottom.gif
new file mode 100644 (file)
index 0000000..be6c50e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/top-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/top-bottom.png b/weekly-report/war/gxt/images/default/panel/top-bottom.png
new file mode 100644 (file)
index 0000000..578ffb6
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/top-bottom.png differ
diff --git a/weekly-report/war/gxt/images/default/panel/white-corners-sprite.gif b/weekly-report/war/gxt/images/default/panel/white-corners-sprite.gif
new file mode 100644 (file)
index 0000000..22d4bba
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/white-corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/white-left-right.gif b/weekly-report/war/gxt/images/default/panel/white-left-right.gif
new file mode 100644 (file)
index 0000000..d82c337
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/white-left-right.gif differ
diff --git a/weekly-report/war/gxt/images/default/panel/white-top-bottom.gif b/weekly-report/war/gxt/images/default/panel/white-top-bottom.gif
new file mode 100644 (file)
index 0000000..fe7dd1c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/panel/white-top-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/default/progress/progress-bg.gif b/weekly-report/war/gxt/images/default/progress/progress-bg.gif
new file mode 100644 (file)
index 0000000..1c1abeb
Binary files /dev/null and b/weekly-report/war/gxt/images/default/progress/progress-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/qtip/bg.gif b/weekly-report/war/gxt/images/default/qtip/bg.gif
new file mode 100644 (file)
index 0000000..43488af
Binary files /dev/null and b/weekly-report/war/gxt/images/default/qtip/bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/qtip/close.gif b/weekly-report/war/gxt/images/default/qtip/close.gif
new file mode 100644 (file)
index 0000000..69ab915
Binary files /dev/null and b/weekly-report/war/gxt/images/default/qtip/close.gif differ
diff --git a/weekly-report/war/gxt/images/default/qtip/tip-anchor-sprite.gif b/weekly-report/war/gxt/images/default/qtip/tip-anchor-sprite.gif
new file mode 100644 (file)
index 0000000..9cf4850
Binary files /dev/null and b/weekly-report/war/gxt/images/default/qtip/tip-anchor-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/qtip/tip-sprite.gif b/weekly-report/war/gxt/images/default/qtip/tip-sprite.gif
new file mode 100644 (file)
index 0000000..9810aca
Binary files /dev/null and b/weekly-report/war/gxt/images/default/qtip/tip-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/s.gif b/weekly-report/war/gxt/images/default/s.gif
new file mode 100644 (file)
index 0000000..1d11fa9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/s.gif differ
diff --git a/weekly-report/war/gxt/images/default/shadow-c.png b/weekly-report/war/gxt/images/default/shadow-c.png
new file mode 100644 (file)
index 0000000..d435f80
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shadow-c.png differ
diff --git a/weekly-report/war/gxt/images/default/shadow-lr.png b/weekly-report/war/gxt/images/default/shadow-lr.png
new file mode 100644 (file)
index 0000000..bb88b6f
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shadow-lr.png differ
diff --git a/weekly-report/war/gxt/images/default/shadow.png b/weekly-report/war/gxt/images/default/shadow.png
new file mode 100644 (file)
index 0000000..75c0eba
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shadow.png differ
diff --git a/weekly-report/war/gxt/images/default/shared/blue-loading.gif b/weekly-report/war/gxt/images/default/shared/blue-loading.gif
new file mode 100644 (file)
index 0000000..3bbf639
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/blue-loading.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/calendar.gif b/weekly-report/war/gxt/images/default/shared/calendar.gif
new file mode 100644 (file)
index 0000000..133cf23
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/calendar.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/clear.gif b/weekly-report/war/gxt/images/default/shared/clear.gif
new file mode 100644 (file)
index 0000000..35d42e8
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/clear.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/glass-bg.gif b/weekly-report/war/gxt/images/default/shared/glass-bg.gif
new file mode 100644 (file)
index 0000000..26fbbae
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/glass-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/hd-sprite.gif b/weekly-report/war/gxt/images/default/shared/hd-sprite.gif
new file mode 100644 (file)
index 0000000..42da1ea
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/hd-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/large-loading.gif b/weekly-report/war/gxt/images/default/shared/large-loading.gif
new file mode 100644 (file)
index 0000000..b36b555
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/large-loading.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/left-btn.gif b/weekly-report/war/gxt/images/default/shared/left-btn.gif
new file mode 100644 (file)
index 0000000..a0ddd9e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/left-btn.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/loading-balls.gif b/weekly-report/war/gxt/images/default/shared/loading-balls.gif
new file mode 100644 (file)
index 0000000..9ce214b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/loading-balls.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/right-btn.gif b/weekly-report/war/gxt/images/default/shared/right-btn.gif
new file mode 100644 (file)
index 0000000..dee63e2
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/right-btn.gif differ
diff --git a/weekly-report/war/gxt/images/default/shared/warning.gif b/weekly-report/war/gxt/images/default/shared/warning.gif
new file mode 100644 (file)
index 0000000..806d4bc
Binary files /dev/null and b/weekly-report/war/gxt/images/default/shared/warning.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/e-handle-dark.gif b/weekly-report/war/gxt/images/default/sizer/e-handle-dark.gif
new file mode 100644 (file)
index 0000000..b5486c1
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/e-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/e-handle.gif b/weekly-report/war/gxt/images/default/sizer/e-handle.gif
new file mode 100644 (file)
index 0000000..00ba835
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/e-handle.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/ne-handle-dark.gif b/weekly-report/war/gxt/images/default/sizer/ne-handle-dark.gif
new file mode 100644 (file)
index 0000000..04e5ecf
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/ne-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/ne-handle.gif b/weekly-report/war/gxt/images/default/sizer/ne-handle.gif
new file mode 100644 (file)
index 0000000..09405c7
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/ne-handle.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/nw-handle-dark.gif b/weekly-report/war/gxt/images/default/sizer/nw-handle-dark.gif
new file mode 100644 (file)
index 0000000..6e49d69
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/nw-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/nw-handle.gif b/weekly-report/war/gxt/images/default/sizer/nw-handle.gif
new file mode 100644 (file)
index 0000000..2fcea8a
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/nw-handle.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/s-handle-dark.gif b/weekly-report/war/gxt/images/default/sizer/s-handle-dark.gif
new file mode 100644 (file)
index 0000000..4eb5f0f
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/s-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/s-handle.gif b/weekly-report/war/gxt/images/default/sizer/s-handle.gif
new file mode 100644 (file)
index 0000000..bf069c2
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/s-handle.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/se-handle-dark.gif b/weekly-report/war/gxt/images/default/sizer/se-handle-dark.gif
new file mode 100644 (file)
index 0000000..c4c1087
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/se-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/se-handle.gif b/weekly-report/war/gxt/images/default/sizer/se-handle.gif
new file mode 100644 (file)
index 0000000..972055e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/se-handle.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/square.gif b/weekly-report/war/gxt/images/default/sizer/square.gif
new file mode 100644 (file)
index 0000000..14ce6f7
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/square.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/sw-handle-dark.gif b/weekly-report/war/gxt/images/default/sizer/sw-handle-dark.gif
new file mode 100644 (file)
index 0000000..77224b0
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/sw-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/images/default/sizer/sw-handle.gif b/weekly-report/war/gxt/images/default/sizer/sw-handle.gif
new file mode 100644 (file)
index 0000000..3ca0ed9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/sizer/sw-handle.gif differ
diff --git a/weekly-report/war/gxt/images/default/slider/slider-bg.png b/weekly-report/war/gxt/images/default/slider/slider-bg.png
new file mode 100644 (file)
index 0000000..9999194
Binary files /dev/null and b/weekly-report/war/gxt/images/default/slider/slider-bg.png differ
diff --git a/weekly-report/war/gxt/images/default/slider/slider-thumb.png b/weekly-report/war/gxt/images/default/slider/slider-thumb.png
new file mode 100644 (file)
index 0000000..cd654a4
Binary files /dev/null and b/weekly-report/war/gxt/images/default/slider/slider-thumb.png differ
diff --git a/weekly-report/war/gxt/images/default/slider/slider-v-bg.png b/weekly-report/war/gxt/images/default/slider/slider-v-bg.png
new file mode 100644 (file)
index 0000000..121450c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/slider/slider-v-bg.png differ
diff --git a/weekly-report/war/gxt/images/default/slider/slider-v-thumb.png b/weekly-report/war/gxt/images/default/slider/slider-v-thumb.png
new file mode 100644 (file)
index 0000000..7b3d725
Binary files /dev/null and b/weekly-report/war/gxt/images/default/slider/slider-v-thumb.png differ
diff --git a/weekly-report/war/gxt/images/default/tabs/scroll-left.gif b/weekly-report/war/gxt/images/default/tabs/scroll-left.gif
new file mode 100644 (file)
index 0000000..9f2f6d1
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/scroll-left.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/scroll-right.gif b/weekly-report/war/gxt/images/default/tabs/scroll-right.gif
new file mode 100644 (file)
index 0000000..4c5e7e3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/scroll-right.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/scroller-bg.gif b/weekly-report/war/gxt/images/default/tabs/scroller-bg.gif
new file mode 100644 (file)
index 0000000..099b90d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/scroller-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-left-bg.gif b/weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644 (file)
index 0000000..188bf94
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-left-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-right-bg.gif b/weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644 (file)
index 0000000..e1f5e3c
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-btm-inactive-right-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-btm-left-bg.gif b/weekly-report/war/gxt/images/default/tabs/tab-btm-left-bg.gif
new file mode 100644 (file)
index 0000000..e695186
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-btm-left-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-btm-right-bg.gif b/weekly-report/war/gxt/images/default/tabs/tab-btm-right-bg.gif
new file mode 100644 (file)
index 0000000..dde7968
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-btm-right-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-close.gif b/weekly-report/war/gxt/images/default/tabs/tab-close.gif
new file mode 100644 (file)
index 0000000..e699878
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-close.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-strip-bg.gif b/weekly-report/war/gxt/images/default/tabs/tab-strip-bg.gif
new file mode 100644 (file)
index 0000000..34f1333
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-strip-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-strip-bg.png b/weekly-report/war/gxt/images/default/tabs/tab-strip-bg.png
new file mode 100644 (file)
index 0000000..fa8ab3f
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-strip-bg.png differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tab-strip-btm-bg.gif b/weekly-report/war/gxt/images/default/tabs/tab-strip-btm-bg.gif
new file mode 100644 (file)
index 0000000..5eaba1e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tab-strip-btm-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/tabs/tabs-sprite.gif b/weekly-report/war/gxt/images/default/tabs/tabs-sprite.gif
new file mode 100644 (file)
index 0000000..e969fb0
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tabs/tabs-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/bg.gif b/weekly-report/war/gxt/images/default/toolbar/bg.gif
new file mode 100644 (file)
index 0000000..0b085bf
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/btn-arrow-light.gif b/weekly-report/war/gxt/images/default/toolbar/btn-arrow-light.gif
new file mode 100644 (file)
index 0000000..b0e24b5
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/btn-arrow-light.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/btn-arrow.gif b/weekly-report/war/gxt/images/default/toolbar/btn-arrow.gif
new file mode 100644 (file)
index 0000000..8acb460
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/btn-arrow.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/btn-over-bg.gif b/weekly-report/war/gxt/images/default/toolbar/btn-over-bg.gif
new file mode 100644 (file)
index 0000000..ee2dd98
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/btn-over-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/gray-bg.gif b/weekly-report/war/gxt/images/default/toolbar/gray-bg.gif
new file mode 100644 (file)
index 0000000..bd49438
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/gray-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/more.gif b/weekly-report/war/gxt/images/default/toolbar/more.gif
new file mode 100644 (file)
index 0000000..02c2509
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/more.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/tb-bg.gif b/weekly-report/war/gxt/images/default/toolbar/tb-bg.gif
new file mode 100644 (file)
index 0000000..4969e4e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/tb-bg.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/tb-btn-sprite.gif b/weekly-report/war/gxt/images/default/toolbar/tb-btn-sprite.gif
new file mode 100644 (file)
index 0000000..19bbef3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/tb-btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/tb-xl-btn-sprite.gif b/weekly-report/war/gxt/images/default/toolbar/tb-xl-btn-sprite.gif
new file mode 100644 (file)
index 0000000..1bc0420
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/tb-xl-btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/default/toolbar/tb-xl-sep.gif b/weekly-report/war/gxt/images/default/toolbar/tb-xl-sep.gif
new file mode 100644 (file)
index 0000000..30555ee
Binary files /dev/null and b/weekly-report/war/gxt/images/default/toolbar/tb-xl-sep.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/arrows.gif b/weekly-report/war/gxt/images/default/tree/arrows.gif
new file mode 100644 (file)
index 0000000..f8ff7b8
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/arrows.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/drop-add.gif b/weekly-report/war/gxt/images/default/tree/drop-add.gif
new file mode 100644 (file)
index 0000000..b22cd14
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/drop-add.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/drop-between.gif b/weekly-report/war/gxt/images/default/tree/drop-between.gif
new file mode 100644 (file)
index 0000000..5c6c09d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/drop-between.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/drop-no.gif b/weekly-report/war/gxt/images/default/tree/drop-no.gif
new file mode 100644 (file)
index 0000000..9d9c6a9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/drop-no.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/drop-over.gif b/weekly-report/war/gxt/images/default/tree/drop-over.gif
new file mode 100644 (file)
index 0000000..30d1ca7
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/drop-over.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/drop-under.gif b/weekly-report/war/gxt/images/default/tree/drop-under.gif
new file mode 100644 (file)
index 0000000..85f66b1
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/drop-under.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/drop-yes.gif b/weekly-report/war/gxt/images/default/tree/drop-yes.gif
new file mode 100644 (file)
index 0000000..8aacb30
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/drop-yes.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-end-minus-nl.gif b/weekly-report/war/gxt/images/default/tree/elbow-end-minus-nl.gif
new file mode 100644 (file)
index 0000000..928779e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-end-minus-nl.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-end-minus.gif b/weekly-report/war/gxt/images/default/tree/elbow-end-minus.gif
new file mode 100644 (file)
index 0000000..9a8d727
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-end-minus.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-end-plus-nl.gif b/weekly-report/war/gxt/images/default/tree/elbow-end-plus-nl.gif
new file mode 100644 (file)
index 0000000..9f7f698
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-end-plus-nl.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-end-plus.gif b/weekly-report/war/gxt/images/default/tree/elbow-end-plus.gif
new file mode 100644 (file)
index 0000000..5943a01
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-end-plus.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-end.gif b/weekly-report/war/gxt/images/default/tree/elbow-end.gif
new file mode 100644 (file)
index 0000000..f24ddee
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-end.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-line.gif b/weekly-report/war/gxt/images/default/tree/elbow-line.gif
new file mode 100644 (file)
index 0000000..75e6da4
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-line.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-minus-nl.gif b/weekly-report/war/gxt/images/default/tree/elbow-minus-nl.gif
new file mode 100644 (file)
index 0000000..928779e
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-minus-nl.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-minus.gif b/weekly-report/war/gxt/images/default/tree/elbow-minus.gif
new file mode 100644 (file)
index 0000000..97dcc71
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-minus.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-plus-nl.gif b/weekly-report/war/gxt/images/default/tree/elbow-plus-nl.gif
new file mode 100644 (file)
index 0000000..9f7f698
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-plus-nl.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow-plus.gif b/weekly-report/war/gxt/images/default/tree/elbow-plus.gif
new file mode 100644 (file)
index 0000000..698de47
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow-plus.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/elbow.gif b/weekly-report/war/gxt/images/default/tree/elbow.gif
new file mode 100644 (file)
index 0000000..b8f4208
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/elbow.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/folder-open.gif b/weekly-report/war/gxt/images/default/tree/folder-open.gif
new file mode 100644 (file)
index 0000000..56ba737
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/folder-open.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/folder.gif b/weekly-report/war/gxt/images/default/tree/folder.gif
new file mode 100644 (file)
index 0000000..20412f7
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/folder.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/leaf.gif b/weekly-report/war/gxt/images/default/tree/leaf.gif
new file mode 100644 (file)
index 0000000..445769d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/leaf.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/loading.gif b/weekly-report/war/gxt/images/default/tree/loading.gif
new file mode 100644 (file)
index 0000000..e846e1d
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/loading.gif differ
diff --git a/weekly-report/war/gxt/images/default/tree/s.gif b/weekly-report/war/gxt/images/default/tree/s.gif
new file mode 100644 (file)
index 0000000..1d11fa9
Binary files /dev/null and b/weekly-report/war/gxt/images/default/tree/s.gif differ
diff --git a/weekly-report/war/gxt/images/default/window/icon-error.gif b/weekly-report/war/gxt/images/default/window/icon-error.gif
new file mode 100644 (file)
index 0000000..397b655
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/icon-error.gif differ
diff --git a/weekly-report/war/gxt/images/default/window/icon-info.gif b/weekly-report/war/gxt/images/default/window/icon-info.gif
new file mode 100644 (file)
index 0000000..58281c3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/icon-info.gif differ
diff --git a/weekly-report/war/gxt/images/default/window/icon-question.gif b/weekly-report/war/gxt/images/default/window/icon-question.gif
new file mode 100644 (file)
index 0000000..08abd82
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/icon-question.gif differ
diff --git a/weekly-report/war/gxt/images/default/window/icon-warning.gif b/weekly-report/war/gxt/images/default/window/icon-warning.gif
new file mode 100644 (file)
index 0000000..27ff98b
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/icon-warning.gif differ
diff --git a/weekly-report/war/gxt/images/default/window/left-corners.png b/weekly-report/war/gxt/images/default/window/left-corners.png
new file mode 100644 (file)
index 0000000..1a51833
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/left-corners.png differ
diff --git a/weekly-report/war/gxt/images/default/window/left-right.png b/weekly-report/war/gxt/images/default/window/left-right.png
new file mode 100644 (file)
index 0000000..7586ff3
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/left-right.png differ
diff --git a/weekly-report/war/gxt/images/default/window/right-corners.png b/weekly-report/war/gxt/images/default/window/right-corners.png
new file mode 100644 (file)
index 0000000..e69a3ff
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/right-corners.png differ
diff --git a/weekly-report/war/gxt/images/default/window/top-bottom.png b/weekly-report/war/gxt/images/default/window/top-bottom.png
new file mode 100644 (file)
index 0000000..33779e7
Binary files /dev/null and b/weekly-report/war/gxt/images/default/window/top-bottom.png differ
diff --git a/weekly-report/war/gxt/images/gray/button/btn-arrow.gif b/weekly-report/war/gxt/images/gray/button/btn-arrow.gif
new file mode 100644 (file)
index 0000000..f90d5df
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/button/btn-arrow.gif differ
diff --git a/weekly-report/war/gxt/images/gray/button/btn-sprite.gif b/weekly-report/war/gxt/images/gray/button/btn-sprite.gif
new file mode 100644 (file)
index 0000000..c59d1b1
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/button/btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gray/button/btn.gif b/weekly-report/war/gxt/images/gray/button/btn.gif
new file mode 100644 (file)
index 0000000..96ea61a
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/button/btn.gif differ
diff --git a/weekly-report/war/gxt/images/gray/button/group-cs.gif b/weekly-report/war/gxt/images/gray/button/group-cs.gif
new file mode 100644 (file)
index 0000000..46a891d
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/button/group-cs.gif differ
diff --git a/weekly-report/war/gxt/images/gray/button/group-lr.gif b/weekly-report/war/gxt/images/gray/button/group-lr.gif
new file mode 100644 (file)
index 0000000..12a81ff
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/button/group-lr.gif differ
diff --git a/weekly-report/war/gxt/images/gray/button/group-tb.gif b/weekly-report/war/gxt/images/gray/button/group-tb.gif
new file mode 100644 (file)
index 0000000..c5ea8ca
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/button/group-tb.gif differ
diff --git a/weekly-report/war/gxt/images/gray/gradient-bg.gif b/weekly-report/war/gxt/images/gray/gradient-bg.gif
new file mode 100644 (file)
index 0000000..8134e49
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/gradient-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/corners-sprite.gif b/weekly-report/war/gxt/images/gray/panel/corners-sprite.gif
new file mode 100644 (file)
index 0000000..5305d73
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/left-right.gif b/weekly-report/war/gxt/images/gray/panel/left-right.gif
new file mode 100644 (file)
index 0000000..174c85e
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/left-right.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/light-hd.gif b/weekly-report/war/gxt/images/gray/panel/light-hd.gif
new file mode 100644 (file)
index 0000000..6eb28ba
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/light-hd.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/tool-sprite-tpl.gif b/weekly-report/war/gxt/images/gray/panel/tool-sprite-tpl.gif
new file mode 100644 (file)
index 0000000..18277a3
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/tool-sprite-tpl.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/tool-sprites.gif b/weekly-report/war/gxt/images/gray/panel/tool-sprites.gif
new file mode 100644 (file)
index 0000000..11845e6
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/tool-sprites.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/tools-sprites-trans.gif b/weekly-report/war/gxt/images/gray/panel/tools-sprites-trans.gif
new file mode 100644 (file)
index 0000000..e58bf20
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/tools-sprites-trans.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/top-bottom.gif b/weekly-report/war/gxt/images/gray/panel/top-bottom.gif
new file mode 100644 (file)
index 0000000..fad5314
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/top-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/top-bottom.png b/weekly-report/war/gxt/images/gray/panel/top-bottom.png
new file mode 100644 (file)
index 0000000..578ffb6
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/top-bottom.png differ
diff --git a/weekly-report/war/gxt/images/gray/panel/white-corners-sprite.gif b/weekly-report/war/gxt/images/gray/panel/white-corners-sprite.gif
new file mode 100644 (file)
index 0000000..d5b8adf
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/white-corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/white-left-right.gif b/weekly-report/war/gxt/images/gray/panel/white-left-right.gif
new file mode 100644 (file)
index 0000000..2c9e142
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/white-left-right.gif differ
diff --git a/weekly-report/war/gxt/images/gray/panel/white-top-bottom.gif b/weekly-report/war/gxt/images/gray/panel/white-top-bottom.gif
new file mode 100644 (file)
index 0000000..8046089
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/panel/white-top-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/gray/qtip/bg.gif b/weekly-report/war/gxt/images/gray/qtip/bg.gif
new file mode 100644 (file)
index 0000000..a9055a5
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/qtip/bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/qtip/close.gif b/weekly-report/war/gxt/images/gray/qtip/close.gif
new file mode 100644 (file)
index 0000000..69ab915
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/qtip/close.gif differ
diff --git a/weekly-report/war/gxt/images/gray/qtip/tip-sprite.gif b/weekly-report/war/gxt/images/gray/qtip/tip-sprite.gif
new file mode 100644 (file)
index 0000000..472c4c2
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/qtip/tip-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gray/s.gif b/weekly-report/war/gxt/images/gray/s.gif
new file mode 100644 (file)
index 0000000..1d11fa9
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/s.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/scroll-left.gif b/weekly-report/war/gxt/images/gray/tabs/scroll-left.gif
new file mode 100644 (file)
index 0000000..bbb3e3d
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/scroll-left.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/scroll-right.gif b/weekly-report/war/gxt/images/gray/tabs/scroll-right.gif
new file mode 100644 (file)
index 0000000..feb6a76
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/scroll-right.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/scroller-bg.gif b/weekly-report/war/gxt/images/gray/tabs/scroller-bg.gif
new file mode 100644 (file)
index 0000000..f089c0a
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/scroller-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-left-bg.gif b/weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644 (file)
index 0000000..d718173
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-left-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-right-bg.gif b/weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644 (file)
index 0000000..bf35493
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-btm-inactive-right-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-btm-left-bg.gif b/weekly-report/war/gxt/images/gray/tabs/tab-btm-left-bg.gif
new file mode 100644 (file)
index 0000000..c41cada
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-btm-left-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-btm-right-bg.gif b/weekly-report/war/gxt/images/gray/tabs/tab-btm-right-bg.gif
new file mode 100644 (file)
index 0000000..96d2e5e
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-btm-right-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-close.gif b/weekly-report/war/gxt/images/gray/tabs/tab-close.gif
new file mode 100644 (file)
index 0000000..98d5da9
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-close.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.gif b/weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.gif
new file mode 100644 (file)
index 0000000..040b677
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.png b/weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.png
new file mode 100644 (file)
index 0000000..fa8ab3f
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-strip-bg.png differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tab-strip-btm-bg.gif b/weekly-report/war/gxt/images/gray/tabs/tab-strip-btm-bg.gif
new file mode 100644 (file)
index 0000000..f35087f
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tab-strip-btm-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/tabs/tabs-sprite.gif b/weekly-report/war/gxt/images/gray/tabs/tabs-sprite.gif
new file mode 100644 (file)
index 0000000..1901b23
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/tabs/tabs-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/bg.gif b/weekly-report/war/gxt/images/gray/toolbar/bg.gif
new file mode 100644 (file)
index 0000000..6789c88
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/btn-arrow-light.gif b/weekly-report/war/gxt/images/gray/toolbar/btn-arrow-light.gif
new file mode 100644 (file)
index 0000000..b0e24b5
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/btn-arrow-light.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/btn-arrow.gif b/weekly-report/war/gxt/images/gray/toolbar/btn-arrow.gif
new file mode 100644 (file)
index 0000000..8acb460
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/btn-arrow.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/btn-over-bg.gif b/weekly-report/war/gxt/images/gray/toolbar/btn-over-bg.gif
new file mode 100644 (file)
index 0000000..ee2dd98
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/btn-over-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/gray-bg.gif b/weekly-report/war/gxt/images/gray/toolbar/gray-bg.gif
new file mode 100644 (file)
index 0000000..5464e21
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/gray-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/tb-bg.gif b/weekly-report/war/gxt/images/gray/toolbar/tb-bg.gif
new file mode 100644 (file)
index 0000000..4969e4e
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/tb-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gray/toolbar/tb-btn-sprite.gif b/weekly-report/war/gxt/images/gray/toolbar/tb-btn-sprite.gif
new file mode 100644 (file)
index 0000000..894fef2
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/toolbar/tb-btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gray/window/icon-error.gif b/weekly-report/war/gxt/images/gray/window/icon-error.gif
new file mode 100644 (file)
index 0000000..397b655
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/icon-error.gif differ
diff --git a/weekly-report/war/gxt/images/gray/window/icon-info.gif b/weekly-report/war/gxt/images/gray/window/icon-info.gif
new file mode 100644 (file)
index 0000000..58281c3
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/icon-info.gif differ
diff --git a/weekly-report/war/gxt/images/gray/window/icon-question.gif b/weekly-report/war/gxt/images/gray/window/icon-question.gif
new file mode 100644 (file)
index 0000000..08abd82
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/icon-question.gif differ
diff --git a/weekly-report/war/gxt/images/gray/window/icon-warning.gif b/weekly-report/war/gxt/images/gray/window/icon-warning.gif
new file mode 100644 (file)
index 0000000..27ff98b
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/icon-warning.gif differ
diff --git a/weekly-report/war/gxt/images/gray/window/left-corners.png b/weekly-report/war/gxt/images/gray/window/left-corners.png
new file mode 100644 (file)
index 0000000..28dfc98
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/left-corners.png differ
diff --git a/weekly-report/war/gxt/images/gray/window/left-corners.pspimage b/weekly-report/war/gxt/images/gray/window/left-corners.pspimage
new file mode 100644 (file)
index 0000000..f0bb2d4
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/left-corners.pspimage differ
diff --git a/weekly-report/war/gxt/images/gray/window/left-right.png b/weekly-report/war/gxt/images/gray/window/left-right.png
new file mode 100644 (file)
index 0000000..d16ac24
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/left-right.png differ
diff --git a/weekly-report/war/gxt/images/gray/window/right-corners.png b/weekly-report/war/gxt/images/gray/window/right-corners.png
new file mode 100644 (file)
index 0000000..f84ca07
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/right-corners.png differ
diff --git a/weekly-report/war/gxt/images/gray/window/top-bottom.png b/weekly-report/war/gxt/images/gray/window/top-bottom.png
new file mode 100644 (file)
index 0000000..2887f06
Binary files /dev/null and b/weekly-report/war/gxt/images/gray/window/top-bottom.png differ
diff --git a/weekly-report/war/gxt/images/gxt/dd/insert-bg.gif b/weekly-report/war/gxt/images/gxt/dd/insert-bg.gif
new file mode 100644 (file)
index 0000000..2f63b14
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/dd/insert-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/grid/row-editor-bg.gif b/weekly-report/war/gxt/images/gxt/grid/row-editor-bg.gif
new file mode 100644 (file)
index 0000000..03b3b2c
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/grid/row-editor-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/grid/row-editor-btns.gif b/weekly-report/war/gxt/images/gxt/grid/row-editor-btns.gif
new file mode 100644 (file)
index 0000000..10668ed
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/grid/row-editor-btns.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/bottom2.gif b/weekly-report/war/gxt/images/gxt/icons/bottom2.gif
new file mode 100644 (file)
index 0000000..ec57dbb
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/bottom2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/columns.gif b/weekly-report/war/gxt/images/gxt/icons/columns.gif
new file mode 100644 (file)
index 0000000..2d3a823
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/columns.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/done.gif b/weekly-report/war/gxt/images/gxt/icons/done.gif
new file mode 100644 (file)
index 0000000..a937cb2
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/done.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/doubleleft2.gif b/weekly-report/war/gxt/images/gxt/icons/doubleleft2.gif
new file mode 100644 (file)
index 0000000..9bfa067
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/doubleleft2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/doubleright2.gif b/weekly-report/war/gxt/images/gxt/icons/doubleright2.gif
new file mode 100644 (file)
index 0000000..79f8b0b
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/doubleright2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/down2.gif b/weekly-report/war/gxt/images/gxt/icons/down2.gif
new file mode 100644 (file)
index 0000000..15e9234
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/down2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/folder-closed.gif b/weekly-report/war/gxt/images/gxt/icons/folder-closed.gif
new file mode 100644 (file)
index 0000000..f1ce479
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/folder-closed.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/folder-closed.png b/weekly-report/war/gxt/images/gxt/icons/folder-closed.png
new file mode 100644 (file)
index 0000000..caad126
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/folder-closed.png differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/folder.gif b/weekly-report/war/gxt/images/gxt/icons/folder.gif
new file mode 100644 (file)
index 0000000..2fc445f
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/folder.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/folder.png b/weekly-report/war/gxt/images/gxt/icons/folder.png
new file mode 100644 (file)
index 0000000..c5df8d8
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/folder.png differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/grid-loading.gif b/weekly-report/war/gxt/images/gxt/icons/grid-loading.gif
new file mode 100644 (file)
index 0000000..d112c54
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/grid-loading.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/hmenu-asc.gif b/weekly-report/war/gxt/images/gxt/icons/hmenu-asc.gif
new file mode 100644 (file)
index 0000000..8917e0e
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/hmenu-asc.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/hmenu-desc.gif b/weekly-report/war/gxt/images/gxt/icons/hmenu-desc.gif
new file mode 100644 (file)
index 0000000..f26b7c2
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/hmenu-desc.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/left2.gif b/weekly-report/war/gxt/images/gxt/icons/left2.gif
new file mode 100644 (file)
index 0000000..e8bbfb0
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/left2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/loading.gif b/weekly-report/war/gxt/images/gxt/icons/loading.gif
new file mode 100644 (file)
index 0000000..e846e1d
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/loading.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/nowait.gif b/weekly-report/war/gxt/images/gxt/icons/nowait.gif
new file mode 100644 (file)
index 0000000..4c5862c
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/nowait.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-first-disabled.gif b/weekly-report/war/gxt/images/gxt/icons/page-first-disabled.gif
new file mode 100644 (file)
index 0000000..1e02c41
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-first-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-first.gif b/weekly-report/war/gxt/images/gxt/icons/page-first.gif
new file mode 100644 (file)
index 0000000..d84f41a
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-first.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-last-disabled.gif b/weekly-report/war/gxt/images/gxt/icons/page-last-disabled.gif
new file mode 100644 (file)
index 0000000..8697067
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-last-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-last.gif b/weekly-report/war/gxt/images/gxt/icons/page-last.gif
new file mode 100644 (file)
index 0000000..3df5c2b
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-last.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-next-disabled.gif b/weekly-report/war/gxt/images/gxt/icons/page-next-disabled.gif
new file mode 100644 (file)
index 0000000..90a7756
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-next-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-next.gif b/weekly-report/war/gxt/images/gxt/icons/page-next.gif
new file mode 100644 (file)
index 0000000..9601635
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-next.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-prev-disabled.gif b/weekly-report/war/gxt/images/gxt/icons/page-prev-disabled.gif
new file mode 100644 (file)
index 0000000..37154d6
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-prev-disabled.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/page-prev.gif b/weekly-report/war/gxt/images/gxt/icons/page-prev.gif
new file mode 100644 (file)
index 0000000..eb70cf8
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/page-prev.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/paging.gif b/weekly-report/war/gxt/images/gxt/icons/paging.gif
new file mode 100644 (file)
index 0000000..29d51d7
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/paging.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/right2.gif b/weekly-report/war/gxt/images/gxt/icons/right2.gif
new file mode 100644 (file)
index 0000000..9dba8d7
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/right2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/tabs.gif b/weekly-report/war/gxt/images/gxt/icons/tabs.gif
new file mode 100644 (file)
index 0000000..759de0f
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/tabs.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/top2.gif b/weekly-report/war/gxt/images/gxt/icons/top2.gif
new file mode 100644 (file)
index 0000000..0493793
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/top2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/up2.gif b/weekly-report/war/gxt/images/gxt/icons/up2.gif
new file mode 100644 (file)
index 0000000..431ddd4
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/up2.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/icons/wait.gif b/weekly-report/war/gxt/images/gxt/icons/wait.gif
new file mode 100644 (file)
index 0000000..471c1a4
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/icons/wait.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/info/corners-sprite.gif b/weekly-report/war/gxt/images/gxt/info/corners-sprite.gif
new file mode 100644 (file)
index 0000000..a86494e
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/info/corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/info/top-bottom.gif b/weekly-report/war/gxt/images/gxt/info/top-bottom.gif
new file mode 100644 (file)
index 0000000..05bd802
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/info/top-bottom.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/menu/disabledcheck.gif b/weekly-report/war/gxt/images/gxt/menu/disabledcheck.gif
new file mode 100644 (file)
index 0000000..cdd0333
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/menu/disabledcheck.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/clear.gif b/weekly-report/war/gxt/images/gxt/shared/clear.gif
new file mode 100644 (file)
index 0000000..35d42e8
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/clear.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/large-loading.gif b/weekly-report/war/gxt/images/gxt/shared/large-loading.gif
new file mode 100644 (file)
index 0000000..b36b555
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/large-loading.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/select-18-bg.gif b/weekly-report/war/gxt/images/gxt/shared/select-18-bg.gif
new file mode 100644 (file)
index 0000000..35d90b1
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/select-18-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/select-19-bg-gray.gif b/weekly-report/war/gxt/images/gxt/shared/select-19-bg-gray.gif
new file mode 100644 (file)
index 0000000..0ab17fb
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/select-19-bg-gray.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/select-19-bg.gif b/weekly-report/war/gxt/images/gxt/shared/select-19-bg.gif
new file mode 100644 (file)
index 0000000..31a3923
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/select-19-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/select-bg.gif b/weekly-report/war/gxt/images/gxt/shared/select-bg.gif
new file mode 100644 (file)
index 0000000..cbcf7e9
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/select-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/shared/select-light.gif b/weekly-report/war/gxt/images/gxt/shared/select-light.gif
new file mode 100644 (file)
index 0000000..55b51da
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/shared/select-light.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/table/row-over.gif b/weekly-report/war/gxt/images/gxt/table/row-over.gif
new file mode 100644 (file)
index 0000000..b288e38
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/table/row-over.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/table/vs-column-bg.gif b/weekly-report/war/gxt/images/gxt/table/vs-column-bg.gif
new file mode 100644 (file)
index 0000000..4025bce
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/table/vs-column-bg.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/table/vsort-asc.gif b/weekly-report/war/gxt/images/gxt/table/vsort-asc.gif
new file mode 100644 (file)
index 0000000..1981f08
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/table/vsort-asc.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/table/vsort-desc.gif b/weekly-report/war/gxt/images/gxt/table/vsort-desc.gif
new file mode 100644 (file)
index 0000000..c2d7f59
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/table/vsort-desc.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/checked.gif b/weekly-report/war/gxt/images/gxt/tree/checked.gif
new file mode 100644 (file)
index 0000000..f00ec97
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/checked.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/joint-close.gif b/weekly-report/war/gxt/images/gxt/tree/joint-close.gif
new file mode 100644 (file)
index 0000000..e34b5e4
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/joint-close.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/joint-open.gif b/weekly-report/war/gxt/images/gxt/tree/joint-open.gif
new file mode 100644 (file)
index 0000000..87717af
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/joint-open.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/notchecked.gif b/weekly-report/war/gxt/images/gxt/tree/notchecked.gif
new file mode 100644 (file)
index 0000000..2b2ba4e
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/notchecked.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/tree-table-special-col-sel.gif b/weekly-report/war/gxt/images/gxt/tree/tree-table-special-col-sel.gif
new file mode 100644 (file)
index 0000000..ee8399e
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/tree-table-special-col-sel.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/tree-table-special-col.gif b/weekly-report/war/gxt/images/gxt/tree/tree-table-special-col.gif
new file mode 100644 (file)
index 0000000..fcc7f9e
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/tree-table-special-col.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/vnode.gif b/weekly-report/war/gxt/images/gxt/tree/vnode.gif
new file mode 100644 (file)
index 0000000..0f031bd
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/vnode.gif differ
diff --git a/weekly-report/war/gxt/images/gxt/tree/vnode_transparent.gif b/weekly-report/war/gxt/images/gxt/tree/vnode_transparent.gif
new file mode 100644 (file)
index 0000000..504e940
Binary files /dev/null and b/weekly-report/war/gxt/images/gxt/tree/vnode_transparent.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/css/xtheme-slate.css b/weekly-report/war/gxt/themes/slate/css/xtheme-slate.css
new file mode 100644 (file)
index 0000000..64d785b
--- /dev/null
@@ -0,0 +1,745 @@
+/*\r
+ * Ext GWT Library 2.0\r
+ * Copyright(c) 2006-2009, Ext JS, LLC.\r
+ * licensing@extjs.com\r
+ * \r
+ * http://extjs.com/license\r
+ */\r
+.x-panel {\r
+    border-style:solid;\r
+    border-color:#abc;\r
+}\r
+.x-panel-header {\r
+    color:#fafafa;\r
+       border:1px solid #abc;\r
+    background-image:url(../images/slate/panel/white-top-bottom.gif);\r
+}\r
+.x-panel-body {\r
+    border-color:#abc;\r
+}\r
+.x-panel-bbar .x-toolbar {\r
+    border-color:#abc;\r
+}\r
+.x-panel-tbar .x-toolbar {\r
+    border-color:#abc;\r
+}\r
+.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {\r
+    border-color:#abc;\r
+}\r
+.x-panel-body-noheader, .x-panel-mc .x-panel-body {\r
+    border-color:#abc;\r
+}\r
+.x-panel-tl .x-panel-header {\r
+    color:#f4f4f4;\r
+}\r
+.x-panel-tc {\r
+       background-image:url(../images/slate/panel/top-bottom.gif);\r
+}\r
+.x-panel-tl {\r
+       background-image:url(../images/slate/panel/corners-sprite.gif);\r
+    border-color:#abc;\r
+}\r
+.x-panel-tr {\r
+       background-image:url(../images/slate/panel/corners-sprite.gif);\r
+}\r
+.x-panel-bc {\r
+       background-image:url(../images/slate/panel/top-bottom.gif);\r
+}\r
+.x-panel-bl {\r
+       background-image:url(../images/slate/panel/corners-sprite.gif);\r
+}\r
+.x-panel-br {\r
+       background-image:url(../images/slate/panel/corners-sprite.gif);\r
+}\r
+.x-panel-mc {\r
+    background:#dde5e9;\r
+}\r
+.x-panel-mc .x-panel-body {\r
+    background:transparent;\r
+    border:0 none;\r
+}\r
+.x-panel-ml {\r
+       background-image:url(../images/slate/panel/left-right.gif);\r
+}\r
+.x-panel-mr {\r
+       background-image:url(../images/slate/panel/left-right.gif);\r
+}\r
+.x-panel-dd-spacer{\r
+       border:2px dashed #89a;\r
+}\r
+.x-tool {\r
+    background-image:url(../images/slate/panel/tool-sprites.gif);\r
+}\r
+.x-panel-ghost {\r
+    background:#e0e0e0;\r
+}\r
+.x-panel-ghost ul {\r
+    border-color:#b0b0b0;\r
+}\r
+.x-grid-panel .x-panel-mc .x-panel-body {\r
+    border:1px solid #abc;\r
+}\r
+.x-btn button {\r
+       color:#fff;\r
+}\r
+.x-btn-over button{\r
+       color:#fff;\r
+}\r
+.x-btn-focus button{\r
+       color:#fff8da;\r
+}\r
+.x-btn-mc em.x-btn-arrow {\r
+    background-image:url(../images/slate/button/arrow.gif);\r
+}\r
+.x-btn-mc em.x-btn-split {\r
+    background-image:url(../images/slate/button/s-arrow-b-noline.gif);\r
+}\r
+.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split {\r
+    background-image:url(../images/slate/button/s-arrow-o.gif);\r
+}\r
+.x-btn-mc em.x-btn-split-bottom {\r
+    background-image:url(../images/slate/button/s-arrow-b.gif);\r
+}\r
+.x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom {\r
+    background-image:url(../images/slate/button/s-arrow-bo.gif);\r
+}\r
+.x-btn-group-header {\r
+    color: white !important;\r
+}\r
+.x-btn-group-tc {\r
+       background-image: url(../images/slate/button/group-tb.gif);\r
+}\r
+.x-btn-group-tl {\r
+       background-image: url(../images/slate/button/group-cs.gif);\r
+}\r
+.x-btn-group-tr {\r
+       background-image: url(../images/slate/button/group-cs.gif);\r
+}\r
+.x-btn-group-bc {\r
+       background-image: url(../images/slate/button/group-tb.gif);\r
+}\r
+.x-btn-group-bl {\r
+       background-image: url(../images/slate/button/group-cs.gif);\r
+}\r
+.x-btn-group-br {\r
+       background-image: url(../images/slate/button/group-cs.gif);\r
+}\r
+.x-btn-group-ml {\r
+       background-image: url(../images/slate/button/group-lr.gif);\r
+}\r
+.x-btn-group-mr {\r
+       background-image: url(../images/slate/button/group-lr.gif);\r
+}\r
+.x-btn-group-notitle .x-btn-group-tc {\r
+       background-image: url(../images/slate/button/group-tb.gif);\r
+}\r
+.x-border-layout-ct {\r
+    background:#f0f0f0;\r
+}\r
+.x-accordion-hd {\r
+       background-image:url(../images/slate/panel/light-hd.gif);\r
+}\r
+.x-layout-collapsed{\r
+    background-color:#567;\r
+    border-color:#e0e0e0;\r
+}\r
+.x-layout-collapsed-over{\r
+        background-color:#789;\r
+}\r
+.x-toolbar{\r
+       border-color:#abc;\r
+    background:#f0f4f5 url(../images/slate/toolbar/bg.gif) repeat-x top left;\r
+}\r
+.x-toolbar button {\r
+    color:#f4f4f4;\r
+}\r
+.x-toolbar .ytb-text {\r
+       color:#f4f4f4;\r
+}\r
+.x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{\r
+       background-image:url(../images/slate/button/btn.gif);\r
+}\r
+.x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{\r
+    color:white;\r
+}\r
+.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {\r
+    background-image:url(../images/slate/toolbar/btn-arrow.gif);\r
+}\r
+.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {\r
+    background-image:url(../images/slate/toolbar/btn-arrow.gif);\r
+}\r
+.x-toolbar .x-btn-over .x-btn-left{\r
+       background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .x-btn-over .x-btn-right{\r
+       background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .x-btn-over .x-btn-center{\r
+       background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .x-btn-over button {\r
+    color:#fff;\r
+}\r
+.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{\r
+       background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);\r
+}\r
+.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{\r
+       background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);\r
+}\r
+.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{\r
+       background-image:url(../images/slate/toolbar/tb-btn-sprite.gif);\r
+}\r
+.x-toolbar .xtb-sep {\r
+       background-image:url(../images/slate/toolbar/sep.gif) !important;\r
+}\r
+.x-statusbar .x-status-text-panel {\r
+       border-color:#9ab #9ab #9ab #9ab;\r
+}\r
+.x-statusbar .x-status-text {\r
+       color:#ddc;\r
+}\r
+.x-menu{\r
+       border:1px solid #aaa;\r
+       background:#f0f0f0 url(../images/slate/menu/menu.gif) repeat-y;\r
+}\r
+.x-menu-item-active{\r
+       background:#ebf3fd url(../images/slate/menu/item-over.gif) repeat-x left bottom;\r
+       border:1px solid #c2cbd2;\r
+}\r
+.x-menu-item-arrow{\r
+       background:transparent url(../images/slate/menu/menu-parent.gif) no-repeat right;\r
+}\r
+.x-menu-check-item .x-menu-item-icon{\r
+       background:transparent url(../images/slate/menu/unchecked.gif) no-repeat center;\r
+}\r
+.x-menu-item-checked .x-menu-item-icon{\r
+       background-image:url(../images/slate/menu/checked.gif);\r
+}\r
+.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{\r
+       background:transparent url(../images/slate/menu/group-checked.gif)\r
+}\r
+.x-menu-group-item .x-menu-item-icon {\r
+       background:transparent none repeat scroll 0 0;\r
+}\r
+.x-tab-panel-header, .x-tab-panel-footer {\r
+       background:#6b869f;\r
+       border-color:#4f657b;\r
+}\r
+.x-tab-panel-header {\r
+       border-color:#abc;\r
+}\r
+.x-tab-panel-footer {\r
+       border-color:#abc;\r
+}\r
+ul.x-tab-strip-top{\r
+       background:#dbdbdb url(../images/slate/tabs/tab-strip-bg.gif) repeat-x left top;\r
+       border-color:#4c647e;\r
+    padding-top:2px;\r
+}\r
+ul.x-tab-strip-bottom{\r
+       background-image:url(../images/slate/tabs/tab-strip-btm-bg.gif);\r
+       border-color:#566c82;\r
+}\r
+.x-tab-strip span.x-tab-strip-text {\r
+       color:#333;\r
+}\r
+.x-tab-strip-over span.x-tab-strip-text {\r
+       color:#111;\r
+}\r
+.x-tab-strip-active span.x-tab-strip-text {\r
+       color:#fff;\r
+}\r
+.x-tab-strip-disabled .x-tabs-text {\r
+       color:#aaaaaa;\r
+}\r
+.x-tab-strip-top .x-tab-right {\r
+       background-image:url(../images/slate/tabs/tabs-sprite.gif);\r
+}\r
+.x-tab-strip-top .x-tab-left {\r
+       background-image:url(../images/slate/tabs/tabs-sprite.gif);\r
+}\r
+.x-tab-strip-top .x-tab-strip-inner {\r
+       background-image:url(../images/slate/tabs/tabs-sprite.gif);\r
+}\r
+.x-tab-strip-bottom .x-tab-right {\r
+       background-image:url(../images/slate/tabs/tab-btm-inactive-right-bg.gif);\r
+}\r
+.x-tab-strip-bottom .x-tab-left {\r
+       background-image:url(../images/slate/tabs/tab-btm-inactive-left-bg.gif);\r
+}\r
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {\r
+       background-image:url(../images/slate/tabs/tab-btm-right-bg.gif);\r
+}\r
+.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {\r
+       background-image:url(../images/slate/tabs/tab-btm-left-bg.gif);\r
+}\r
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {\r
+       background-image:url(../images/slate/tabs/tab-close.gif);\r
+}\r
+.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{\r
+       background-image:url(../images/slate/tabs/tab-close.gif);\r
+}\r
+.x-tab-panel-body {\r
+    border-color:#abc;\r
+    background:#fff;\r
+}\r
+.x-tab-panel-bbar .x-toolbar {\r
+    border-color:#abc;\r
+}\r
+.x-tab-panel-tbar .x-toolbar {\r
+    border-color:#abc;\r
+}\r
+.x-tab-panel-header-plain .x-tab-strip-spacer,\r
+.x-tab-panel-footer-plain .x-tab-strip-spacer {\r
+    border-color:#abc;\r
+       background:#6b869f;\r
+}\r
+.x-tab-scroller-left {\r
+    background-image:url(../images/slate/tabs/scroll-left.gif);\r
+    border-color:#aeaeae;\r
+}\r
+.x-tab-scroller-right {\r
+    background-image:url(../images/slate/tabs/scroll-right.gif);\r
+    border-color:#aeaeae;\r
+}\r
+.x-window-proxy {\r
+    background:#e4e8ec;\r
+    border-color:#abc;\r
+}\r
+.x-window-tl .x-window-header {\r
+    color:#fafafa;\r
+}\r
+.x-window-tc {\r
+       background-image:url(../images/slate/window/top-bottom.png);\r
+}\r
+.x-window-tl {\r
+       background-image:url(../images/slate/window/left-corners.png);\r
+}\r
+.x-window-tr {\r
+       background-image:url(../images/slate/window/right-corners.png);\r
+}\r
+.x-window-bc {\r
+       background-image:url(../images/slate/window/top-bottom.png);\r
+}\r
+.x-window-bl {\r
+       background-image:url(../images/slate/window/left-corners.png);\r
+}\r
+.x-window-br {\r
+       background-image:url(../images/slate/window/right-corners.png);\r
+}\r
+.x-window-mc {\r
+    border:1px solid #abc;\r
+    background:#e8e8e8;\r
+}\r
+.x-window-ml {\r
+       background-image:url(../images/slate/window/left-right.png);\r
+}\r
+.x-window-mr {\r
+       background-image:url(../images/slate/window/left-right.png);\r
+}\r
+.x-panel-ghost .x-window-tl {\r
+    border-color:#abc;\r
+}\r
+.x-panel-collapsed .x-window-tl {\r
+    border-color:#abc;\r
+}\r
+.x-window-plain .x-window-mc {\r
+    background:#e8e8e8;\r
+    border-right:1px solid #eee;\r
+    border-bottom:1px solid #eee;\r
+    border-top:1px solid #abc;\r
+    border-left:1px solid #abc;\r
+}\r
+.x-window-plain .x-window-body {\r
+    border-left:1px solid #ddd;\r
+    border-top:1px solid #ddd;\r
+    border-bottom:1px solid #abc;\r
+    border-right:1px solid #abc;\r
+    background:transparent !important;\r
+}\r
+body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {\r
+    background-color:#eceef0;\r
+}\r
+/* HTML Editors */\r
+.x-html-editor-wrap {\r
+    border-color:#abc;\r
+}\r
+.x-html-editor-tb .x-btn-text {\r
+       background:transparent url(../images/slate/editor/tb-sprite.gif) no-repeat scroll 0%;\r
+}\r
+/* Borders go last for specificity */\r
+.x-panel-noborder .x-panel-body-noborder {\r
+    border-width:0;\r
+}\r
+.x-panel-noborder .x-panel-header-noborder {\r
+    border-width:0;\r
+    border-bottom:1px solid #abc;\r
+}\r
+.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-bottom:1px solid #abc;\r
+}\r
+.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-top:1px solid #abc;\r
+}\r
+.x-window-noborder .x-window-mc {\r
+    border-width:0;\r
+}\r
+.x-window-plain .x-window-body-noborder {\r
+    border-width:0;\r
+}\r
+.x-tab-panel-noborder .x-tab-panel-body-noborder {\r
+       border-width:0;\r
+}\r
+.x-tab-panel-noborder .x-tab-panel-header-noborder {\r
+       border-top-width:0;\r
+       border-left-width:0;\r
+       border-right-width:0;\r
+}\r
+.x-tab-panel-noborder .x-tab-panel-footer-noborder {\r
+       border-bottom-width:0;\r
+       border-left-width:0;\r
+       border-right-width:0;\r
+}\r
+.x-tab-panel-bbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-top:1px solid #abc;\r
+}\r
+.x-tab-panel-tbar-noborder .x-toolbar {\r
+    border-width:0;\r
+    border-bottom:1px solid #abc;\r
+}\r
+/* Forms */\r
+.x-form-text, textarea.x-form-field {\r
+       border:1px solid #9ab; \r
+}\r
+.x-trigger-wrap-focus .x-form-trigger {\r
+       border-bottom:1px solid #4a7192;\r
+}\r
+.x-form-focus,textarea.x-form-focus {\r
+       border:1px solid #4a7192;\r
+}\r
+.x-form-field-wrap .x-form-trigger {\r
+       background:transparent url(../images/slate/form/trigger.gif) no-repeat 0 0;\r
+}\r
+.x-form-field-wrap .x-form-date-trigger {\r
+       background-image:url(../images/slate/form/date-trigger.gif);\r
+}\r
+.x-form-field-wrap .x-form-clear-trigger {\r
+       background-image:url(../images/slate/form/clear-trigger.gif);\r
+}\r
+.x-form-field-wrap .x-form-search-trigger {\r
+       background-image:url(../images/slate/form/search-trigger.gif);\r
+}\r
+.x-form-field-wrap .x-form-trigger {\r
+       border-bottom:1px solid #778899;\r
+}\r
+.x-form-field-wrap .x-form-trigger-over{\r
+       background-position:-17px 0;\r
+}\r
+.x-form-field-wrap .x-form-trigger-click{\r
+       background-position:-34px 0;\r
+}\r
+.x-trigger-wrap-focus .x-form-trigger{\r
+       background-position:-51px 0;\r
+}\r
+.x-trigger-wrap-focus .x-form-trigger-over{\r
+       background-position:-68px 0;\r
+}\r
+.x-trigger-wrap-focus .x-form-trigger-click{\r
+       background-position:-85px 0;\r
+}\r
+.x-form fieldset legend {\r
+       color:#333;\r
+}\r
+/* Checkboxes & Radio Buttons */\r
+.x-form-check {\r
+       background:url('../images/slate/form/checkbox.gif') no-repeat 0 0;\r
+}\r
+.x-form-radio {\r
+       background:url('../images/slate/form/radio.gif') no-repeat 0 0;\r
+}\r
+.x-form-check-group-label {\r
+    border-bottom:1px solid #99BBE8;\r
+    color:#15428B;\r
+    margin-bottom:5px;\r
+    padding-left:3px !important;\r
+    float:none !important;\r
+}\r
+/* Grid */\r
+.x-grid3-row-selected {\r
+       background:#fbf0d2 !important;\r
+       border:1px dotted #ccc;\r
+}\r
+.x-grid3-hd-btn{\r
+       background:#f2daa9 url(../images/slate/grid/grid3-hd-btn.gif) no-repeat left center;\r
+}\r
+.x-grid3-header{\r
+       background:#f9f9f9 url(../images/slate/grid/grid3-hrow.gif) repeat-x 0 bottom;\r
+}\r
+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{\r
+       background:#ebf3fd url(../images/slate/grid/grid3-hrow-over.gif) repeat-x left bottom;\r
+}\r
+.sort-asc .x-grid3-sort-icon{\r
+       background-image:url(../images/slate/grid/sort_asc.gif);\r
+}\r
+.sort-desc .x-grid3-sort-icon{\r
+       background-image:url(../images/slate/grid/sort_desc.gif);\r
+}\r
+td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open {\r
+       border-left:1px solid #fff;\r
+       border-right:1px solid #ccc;\r
+}\r
+.x-grid3-check-col{\r
+       background-image:url(../images/slate/menu/unchecked.gif);\r
+}\r
+.x-grid3-check-col-on{\r
+       background-image:url(../images/slate/menu/checked.gif);\r
+}\r
+.x-grid3-cell-selected{\r
+       background-color:#e0eaee!important;\r
+}\r
+.x-grid3-body .x-grid3-td-expander{\r
+       background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;\r
+}\r
+.x-grid3-body .x-grid3-td-checker{\r
+       background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;\r
+}\r
+.x-grid3-body .x-grid3-td-numberer{\r
+       background:transparent url(../images/slate/grid/grid3-special-col-bg.gif) repeat-y right;\r
+}\r
+.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{\r
+       background:transparent url(../images/slate/grid/grid3-special-col-sel-bg.gif) repeat-y right;\r
+}\r
+.x-grid-group-hd {\r
+       border-bottom:2px solid #abb;\r
+}\r
+.x-grid-group-hd div {\r
+       color:#456;\r
+}\r
+.x-dd-drag-proxy .x-grid3-hd-inner{\r
+       background:#ebf3fd url(../images/slate/grid/grid3-hrow-over.gif) repeat-x left bottom;\r
+       border:1px solid #abc;\r
+}\r
+.x-tbar-page-first{\r
+       background-image:url(../images/slate/grid/page-first.gif)!important;\r
+}\r
+.x-tbar-page-last{\r
+       background-image:url(../images/slate/grid/page-last.gif)!important;\r
+}\r
+.x-tbar-page-next{\r
+       background-image:url(../images/slate/grid/page-next.gif)!important;\r
+}\r
+.x-tbar-page-prev{\r
+       background-image:url(../images/slate/grid/page-prev.gif)!important;\r
+}\r
+.x-tbar-loading{\r
+       background-image:url(../images/slate/grid/refresh.gif)!important;\r
+}\r
+.x-paging-info {\r
+       color:#FFFFFF;\r
+}\r
+/* Progress Bars */\r
+.x-progress-bar{\r
+       background:#9CBFEE url(../images/slate/progress/progress-bg.gif) repeat-x left center;\r
+       border-top:1px solid #ddd;\r
+       border-bottom:1px solid #ddd;\r
+}\r
+.x-progress-inner {\r
+       background:#E0E8F3 url(../images/slate/qtip/bg.gif) repeat-x scroll 0 0;\r
+}\r
+.x-progress-text{\r
+       color:#789;\r
+}\r
+.x-progress-text-back {\r
+       color:#789;\r
+}\r
+.x-progress-wrap{\r
+       border:1px solid #b0b8c4;\r
+}\r
+/* Combos */\r
+.x-combo-list{\r
+       border:1px solid #89a;\r
+}\r
+.x-combo-list .x-combo-selected{\r
+       border:1px dotted #ccc!important;\r
+       background:#fbf0d2;\r
+}\r
+/* Calendars */\r
+.x-date-middle,.x-date-left,.x-date-right{\r
+       background:url(../images/slate/shared/hd-sprite.gif) repeat-x 0 -83px;\r
+}\r
+.x-date-right a {\r
+    background-image: url(../images/slate/shared/right-btn.gif);\r
+}\r
+.x-date-left a{\r
+       background-image: url(../images/slate/shared/left-btn.gif);\r
+}\r
+.x-date-bottom {\r
+       background:#DFECFB url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;\r
+       border-top:1px solid #abc;\r
+}\r
+.x-date-right-icon {\r
+  background-image: url(../images/slate/shared/right-btn.gif);\r
+}\r
+\r
+.x-date-left-icon {\r
+  background-image: url(../images/slate/shared/left-btn.gif);\r
+}\r
+.x-date-inner th{\r
+       background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x left top;\r
+       border-bottom:1px solid #abc;\r
+       color:#345;\r
+}\r
+.x-date-inner .x-date-selected a {\r
+       background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;\r
+       border:1px solid #89a;\r
+}\r
+.x-date-inner a:hover,.x-date-inner .x-date-disabled a:hover{\r
+       background:#faedc0;\r
+}\r
+td.x-date-mp-month a:hover,td.x-date-mp-year a:hover{\r
+       color:#123;\r
+       background:#faedc0;\r
+}\r
+.x-date-mp-ybtn a{\r
+       background:transparent url(../images/slate/panel/tool-sprites.gif) no-repeat;\r
+}\r
+.x-date-mp-btns {\r
+       background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x scroll left top;\r
+}\r
+td.x-date-mp-sel a{\r
+       background:#dfecfb url(../images/slate/shared/glass-bg.gif) repeat-x left top;\r
+       border:1px solid #abc;\r
+}\r
+.x-date-mp-btns button{\r
+       background:#405574;\r
+       border:1px solid;\r
+       border-color:#abc #055 #055 #abc;\r
+}\r
+.x-resizable-over .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-east{\r
+       background:url(../images/slate/sizer/e-handle.gif);background-position:left;\r
+}\r
+.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-west{\r
+       background:url(../images/slate/sizer/e-handle.gif);background-position:left;\r
+}\r
+.x-resizable-over .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-south{\r
+       background:url(../images/slate/sizer/s-handle.gif);background-position:top;\r
+}\r
+.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-north{\r
+       background:url(../images/slate/sizer/s-handle.gif);background-position:top;\r
+}\r
+.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{\r
+       background:url(../images/slate/sizer/se-handle.gif);background-position:top left;\r
+}\r
+.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{\r
+       background:url(../images/slate/sizer/nw-handle.gif);background-position:bottom right;\r
+}\r
+.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{\r
+       background:url(../images/slate/sizer/ne-handle.gif);background-position:bottom left;\r
+}\r
+.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{\r
+       background:url(../images/slate/sizer/sw-handle.gif);background-position:top right;\r
+}\r
+.x-tip .x-tip-close{\r
+       background-image:url(../images/slate/qtip/close.gif);\r
+}\r
+.x-tip .x-tip-tc{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -62px;\r
+}\r
+.x-tip .x-tip-tl{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 0;\r
+}\r
+.x-tip .x-tip-tr{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right 0;\r
+}\r
+.x-tip .x-tip-bc{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -121px;\r
+}\r
+.x-tip .x-tip-bl{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -59px;\r
+}\r
+.x-tip .x-tip-br{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right -59px;\r
+}\r
+.x-tip .x-tip-ml{\r
+       background:#fff url(../images/slate/qtip/tip-sprite.gif) no-repeat 0 -124px;\r
+}\r
+.x-tip .x-tip-mr{\r
+       background:transparent url(../images/slate/qtip/tip-sprite.gif) no-repeat right -124px;\r
+}\r
+.x-form-invalid-tip .x-tip-tc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -12px;padding-top:6px;}\r
+.x-form-invalid-tip .x-tip-tl{background-image:url(../images/default/form/error-tip-corners.gif);}\r
+.x-form-invalid-tip .x-tip-tr{background-image:url(../images/default/form/error-tip-corners.gif);}\r
+.x-form-invalid-tip .x-tip-bc{background:url(../images/default/form/error-tip-corners.gif) repeat-x 0 -18px;height:6px;}\r
+.x-form-invalid-tip .x-tip-bl{background:url(../images/default/form/error-tip-corners.gif) no-repeat 0 -6px;}\r
+.x-form-invalid-tip .x-tip-br{background:url(../images/default/form/error-tip-corners.gif) no-repeat right -6px;}\r
+.x-form-invalid-tip .x-tip-ml{background-image:url(../images/default/form/error-tip-corners.gif);}\r
+.x-form-invalid-tip .x-tip-mr{background-image:url(../images/default/form/error-tip-corners.gif);}\r
+.x-tree-node .x-tree-selected {\r
+       background-color:#f2daa9;\r
+}\r
+.x-tree-node .x-tree-selected a span {\r
+       background-color:#f2daa9;\r
+       color:black;\r
+}\r
+.x-ftree2-selected {\r
+    background-color:#FBF0D2 !important;\r
+}\r
+.x-tree-arrows .x-tree-elbow-plus{\r
+       background:transparent url(../images/slate/tree/arrows.gif) no-repeat 0 0;\r
+}\r
+.x-tree-arrows .x-tree-elbow-minus{\r
+       background:transparent url(../images/slate/tree/arrows.gif) no-repeat -16px 0;\r
+}\r
+.x-tree-arrows .x-tree-elbow-end-plus{\r
+       background:transparent url(../images/slate/tree/arrows.gif) no-repeat 0 0;\r
+}\r
+.x-tree-arrows .x-tree-elbow-end-minus{\r
+       background:transparent url(../images/slate/tree/arrows.gif) no-repeat -16px 0;\r
+}\r
+.x-slider-horz .x-slider-thumb{\r
+       background:transparent url(../images/slate/slider/slider-thumb.png) no-repeat 0 0;\r
+}\r
+.x-slider-vert .x-slider-thumb{\r
+       background:transparent url(../images/slate/slider/slider-v-thumb.png) no-repeat 0 0;\r
+}\r
+.x-slider-horz .x-slider-thumb-over{\r
+       background-position:-14px -15px;\r
+}\r
+.x-slider-horz .x-slider-thumb-drag{\r
+       background-position:-28px -30px;\r
+}\r
+.x-slider-vert .x-slider-thumb-over{\r
+       background-position:-15px -14px;\r
+}\r
+.x-slider-vert .x-slider-thumb-drag{\r
+       background-position:-30px -28px;\r
+}\r
+.x-slider-horz{\r
+       background:transparent url(../images/slate/slider/slider-bg.png) no-repeat 0 -22px;\r
+}\r
+.x-slider-horz .x-slider-end{\r
+       background:transparent url(../images/slate/slider/slider-bg.png) no-repeat right -44px;\r
+}\r
+.x-slider-horz .x-slider-inner{\r
+       background:transparent url(../images/slate/slider/slider-bg.png) repeat-x 0 0;\r
+}\r
+.x-slider-vert{\r
+       background:transparent url(../images/slate/slider/slider-v-bg.png) no-repeat -44px 0;\r
+}\r
+.x-slider-vert .x-slider-end{\r
+       background:transparent url(../images/slate/slider/slider-v-bg.png) no-repeat -22px bottom;\r
+}\r
+.x-slider-vert .x-slider-inner{\r
+       background:transparent url(../images/slate/slider/slider-v-bg.png) repeat-y 0 0;\r
+}\r
+.x-item-disabled * {\r
+       color:#333 !important;\r
+}\r
+.x-form-check{background:none; !important}\r
+.x-form-radio{background:none; !important}\r
+.x-border {\r
+  border:1px solid #AABBCC;\r
+}
\ No newline at end of file
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/arrow.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/arrow.gif
new file mode 100644 (file)
index 0000000..1052a42
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/arrow.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/btn-arrow.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/btn-arrow.gif
new file mode 100644 (file)
index 0000000..eb2ef99
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/btn-arrow.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/btn-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/btn-sprite.gif
new file mode 100644 (file)
index 0000000..7247b55
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/btn.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/btn.gif
new file mode 100644 (file)
index 0000000..cc581a9
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/btn.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/group-cs.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/group-cs.gif
new file mode 100644 (file)
index 0000000..9638066
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/group-cs.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/group-lr.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/group-lr.gif
new file mode 100644 (file)
index 0000000..4c5c5b9
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/group-lr.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/group-tb.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/group-tb.gif
new file mode 100644 (file)
index 0000000..be9d5a0
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/group-tb.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-b.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-b.gif
new file mode 100644 (file)
index 0000000..f168b58
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-b.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-bo.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-bo.gif
new file mode 100644 (file)
index 0000000..f168b58
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-bo.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-noline.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-noline.gif
new file mode 100644 (file)
index 0000000..24b0108
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-noline.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-o.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-o.gif
new file mode 100644 (file)
index 0000000..546f5cc
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow-o.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow.gif b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow.gif
new file mode 100644 (file)
index 0000000..546f5cc
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/button/s-arrow.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/editor/tb-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/editor/tb-sprite.gif
new file mode 100644 (file)
index 0000000..bd4011d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/editor/tb-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/checkbox.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/checkbox.gif
new file mode 100644 (file)
index 0000000..ac8bc51
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/checkbox.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/clear-trigger.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/clear-trigger.gif
new file mode 100644 (file)
index 0000000..0ae9d06
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/clear-trigger.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/date-trigger.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/date-trigger.gif
new file mode 100644 (file)
index 0000000..5da5850
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/date-trigger.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/radio.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/radio.gif
new file mode 100644 (file)
index 0000000..11a90f2
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/radio.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/search-trigger.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/search-trigger.gif
new file mode 100644 (file)
index 0000000..61e7d98
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/search-trigger.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/trigger-tpl.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/trigger-tpl.gif
new file mode 100644 (file)
index 0000000..df1ea98
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/trigger-tpl.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/form/trigger.gif b/weekly-report/war/gxt/themes/slate/images/slate/form/trigger.gif
new file mode 100644 (file)
index 0000000..d2db1bd
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/form/trigger.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/gradient-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/gradient-bg.gif
new file mode 100644 (file)
index 0000000..8134e49
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/gradient-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-left-white.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-left-white.gif
new file mode 100644 (file)
index 0000000..63088f5
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-left-white.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-right-white.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-right-white.gif
new file mode 100644 (file)
index 0000000..e9e0678
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/arrow-right-white.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-bottom.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-bottom.gif
new file mode 100644 (file)
index 0000000..cc1e473
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-bottom.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-top.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-top.gif
new file mode 100644 (file)
index 0000000..58ff32c
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/col-move-top.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/footer-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/footer-bg.gif
new file mode 100644 (file)
index 0000000..126120f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/footer-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-hd.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-hd.gif
new file mode 100644 (file)
index 0000000..862094e
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-hd.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-split.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-split.gif
new file mode 100644 (file)
index 0000000..5286f58
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-blue-split.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-hrow.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-hrow.gif
new file mode 100644 (file)
index 0000000..6374104
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-hrow.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-split.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-split.gif
new file mode 100644 (file)
index 0000000..2d27001
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-split.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-vista-hd.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-vista-hd.gif
new file mode 100644 (file)
index 0000000..d097263
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid-vista-hd.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hd-btn.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hd-btn.gif
new file mode 100644 (file)
index 0000000..fb1e5fb
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hd-btn.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow-over.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow-over.gif
new file mode 100644 (file)
index 0000000..bdb4095
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow-over.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow.gif
new file mode 100644 (file)
index 0000000..e72e221
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-hrow.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-bg.gif
new file mode 100644 (file)
index 0000000..a1481dc
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-sel-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-sel-bg.gif
new file mode 100644 (file)
index 0000000..34b242d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/grid3-special-col-sel-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/group-expand-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/group-expand-sprite.gif
new file mode 100644 (file)
index 0000000..9c1653b
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/group-expand-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/mso-hd.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/mso-hd.gif
new file mode 100644 (file)
index 0000000..669f3cf
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/mso-hd.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-first-disabled.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-first-disabled.gif
new file mode 100644 (file)
index 0000000..1eddc0b
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-first-disabled.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-first.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-first.gif
new file mode 100644 (file)
index 0000000..0cfc2f3
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-first.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-last-disabled.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-last-disabled.gif
new file mode 100644 (file)
index 0000000..29881be
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-last-disabled.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-last.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-last.gif
new file mode 100644 (file)
index 0000000..de01053
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-last.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-next-disabled.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-next-disabled.gif
new file mode 100644 (file)
index 0000000..90a7756
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-next-disabled.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-next.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-next.gif
new file mode 100644 (file)
index 0000000..39986b7
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-next.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev-disabled.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev-disabled.gif
new file mode 100644 (file)
index 0000000..37154d6
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev-disabled.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev.gif
new file mode 100644 (file)
index 0000000..02f24a8
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/page-prev.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/refresh.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/refresh.gif
new file mode 100644 (file)
index 0000000..c622b5d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/refresh.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/row-over.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/row-over.gif
new file mode 100644 (file)
index 0000000..b288e38
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/row-over.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/row-sel.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/row-sel.gif
new file mode 100644 (file)
index 0000000..98209e6
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/row-sel.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/sort_asc.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/sort_asc.gif
new file mode 100644 (file)
index 0000000..c4c6adb
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/sort_asc.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/grid/sort_desc.gif b/weekly-report/war/gxt/themes/slate/images/slate/grid/sort_desc.gif
new file mode 100644 (file)
index 0000000..941d88d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/grid/sort_desc.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/checked.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/checked.gif
new file mode 100644 (file)
index 0000000..e80732f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/checked.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/group-checked.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/group-checked.gif
new file mode 100644 (file)
index 0000000..52d7ca7
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/group-checked.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/item-over - Copy.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/item-over - Copy.gif
new file mode 100644 (file)
index 0000000..6d44e43
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/item-over - Copy.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/item-over.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/item-over.gif
new file mode 100644 (file)
index 0000000..238a77d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/item-over.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/menu-parent.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/menu-parent.gif
new file mode 100644 (file)
index 0000000..2bdb679
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/menu-parent.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/menu.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/menu.gif
new file mode 100644 (file)
index 0000000..7952233
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/menu.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/menu/unchecked.gif b/weekly-report/war/gxt/themes/slate/images/slate/menu/unchecked.gif
new file mode 100644 (file)
index 0000000..00e2c0c
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/menu/unchecked.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/corners-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/corners-sprite.gif
new file mode 100644 (file)
index 0000000..d02c9bb
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/left-right.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/left-right.gif
new file mode 100644 (file)
index 0000000..1c5d568
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/left-right.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/light-hd.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/light-hd.gif
new file mode 100644 (file)
index 0000000..d9432a0
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/light-hd.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprite-tpl.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprite-tpl.gif
new file mode 100644 (file)
index 0000000..a195055
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprite-tpl.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprites.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprites.gif
new file mode 100644 (file)
index 0000000..e91fb9c
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/tool-sprites.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/tools-sprites-trans.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/tools-sprites-trans.gif
new file mode 100644 (file)
index 0000000..e58bf20
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/tools-sprites-trans.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.gif
new file mode 100644 (file)
index 0000000..76af965
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.png b/weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.png
new file mode 100644 (file)
index 0000000..f0c7ff4
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/top-bottom.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/white-corners-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/white-corners-sprite.gif
new file mode 100644 (file)
index 0000000..d5b8adf
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/white-corners-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/white-left-right.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/white-left-right.gif
new file mode 100644 (file)
index 0000000..5b07a06
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/white-left-right.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/panel/white-top-bottom.gif b/weekly-report/war/gxt/themes/slate/images/slate/panel/white-top-bottom.gif
new file mode 100644 (file)
index 0000000..8f4ded4
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/panel/white-top-bottom.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/progress/progress-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/progress/progress-bg.gif
new file mode 100644 (file)
index 0000000..5671eed
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/progress/progress-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/qtip/bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/qtip/bg.gif
new file mode 100644 (file)
index 0000000..32ebaaa
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/qtip/bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/qtip/close.gif b/weekly-report/war/gxt/themes/slate/images/slate/qtip/close.gif
new file mode 100644 (file)
index 0000000..69ab915
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/qtip/close.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/qtip/tip-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/qtip/tip-sprite.gif
new file mode 100644 (file)
index 0000000..fcd6ffe
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/qtip/tip-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/s.gif b/weekly-report/war/gxt/themes/slate/images/slate/s.gif
new file mode 100644 (file)
index 0000000..1d11fa9
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/s.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/shared/glass-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/shared/glass-bg.gif
new file mode 100644 (file)
index 0000000..4950a85
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/shared/glass-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/shared/hd-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/shared/hd-sprite.gif
new file mode 100644 (file)
index 0000000..3b47087
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/shared/hd-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/shared/left-btn.gif b/weekly-report/war/gxt/themes/slate/images/slate/shared/left-btn.gif
new file mode 100644 (file)
index 0000000..3239360
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/shared/left-btn.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/shared/right-btn.gif b/weekly-report/war/gxt/themes/slate/images/slate/shared/right-btn.gif
new file mode 100644 (file)
index 0000000..e45c695
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/shared/right-btn.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle-dark.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle-dark.gif
new file mode 100644 (file)
index 0000000..2a4b30a
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle.gif
new file mode 100644 (file)
index 0000000..7819f0f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/e-handle.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle-dark.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle-dark.gif
new file mode 100644 (file)
index 0000000..817036d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle.gif
new file mode 100644 (file)
index 0000000..6518a21
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/ne-handle.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle-dark.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle-dark.gif
new file mode 100644 (file)
index 0000000..fdfb7dc
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle.gif
new file mode 100644 (file)
index 0000000..7655a81
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/nw-handle.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle-dark.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle-dark.gif
new file mode 100644 (file)
index 0000000..aeafee2
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle.gif
new file mode 100644 (file)
index 0000000..a1abc4a
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/s-handle.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle-dark.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle-dark.gif
new file mode 100644 (file)
index 0000000..362921c
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle.gif
new file mode 100644 (file)
index 0000000..c6684f9
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/se-handle.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/square.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/square.gif
new file mode 100644 (file)
index 0000000..0c0e6b4
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/square.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle-dark.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle-dark.gif
new file mode 100644 (file)
index 0000000..698122f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle-dark.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle.gif b/weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle.gif
new file mode 100644 (file)
index 0000000..920621e
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/sizer/sw-handle.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-bg.png b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-bg.png
new file mode 100644 (file)
index 0000000..d2e3af6
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-bg.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-thumb.png b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-thumb.png
new file mode 100644 (file)
index 0000000..3a9423a
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-thumb.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-bg.png b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-bg.png
new file mode 100644 (file)
index 0000000..cf6ab9f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-bg.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-thumb.png b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-thumb.png
new file mode 100644 (file)
index 0000000..3caf7a0
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/slider/slider-v-thumb.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-left.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-left.gif
new file mode 100644 (file)
index 0000000..bbb3e3d
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-left.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-right.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-right.gif
new file mode 100644 (file)
index 0000000..feb6a76
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroll-right.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroller-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroller-bg.gif
new file mode 100644 (file)
index 0000000..f089c0a
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/scroller-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-left-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-left-bg.gif
new file mode 100644 (file)
index 0000000..777ecd8
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-left-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-right-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-right-bg.gif
new file mode 100644 (file)
index 0000000..7c378ab
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-inactive-right-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-left-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-left-bg.gif
new file mode 100644 (file)
index 0000000..9f578f1
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-left-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-right-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-right-bg.gif
new file mode 100644 (file)
index 0000000..84e20cf
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-btm-right-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-close.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-close.gif
new file mode 100644 (file)
index 0000000..3bdff41
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-close.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.gif
new file mode 100644 (file)
index 0000000..03e7574
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.png b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.png
new file mode 100644 (file)
index 0000000..fa8ab3f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-bg.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-btm-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-btm-bg.gif
new file mode 100644 (file)
index 0000000..f35087f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tab-strip-btm-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tabs/tabs-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tabs-sprite.gif
new file mode 100644 (file)
index 0000000..d7f1f32
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tabs/tabs-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/bg.gif
new file mode 100644 (file)
index 0000000..2745bae
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow-light.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow-light.gif
new file mode 100644 (file)
index 0000000..b0e24b5
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow-light.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow.gif
new file mode 100644 (file)
index 0000000..9fad756
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-arrow.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-over-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-over-bg.gif
new file mode 100644 (file)
index 0000000..62464c0
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/btn-over-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/gray-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/gray-bg.gif
new file mode 100644 (file)
index 0000000..bd49438
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/gray-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/sep.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/sep.gif
new file mode 100644 (file)
index 0000000..1ed6709
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/sep.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-bg.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-bg.gif
new file mode 100644 (file)
index 0000000..4969e4e
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-bg.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-btn-sprite.gif b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-btn-sprite.gif
new file mode 100644 (file)
index 0000000..483d51f
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/toolbar/tb-btn-sprite.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/tree/arrows.gif b/weekly-report/war/gxt/themes/slate/images/slate/tree/arrows.gif
new file mode 100644 (file)
index 0000000..943f7f8
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/tree/arrows.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/icon-error.gif b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-error.gif
new file mode 100644 (file)
index 0000000..397b655
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-error.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/icon-info.gif b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-info.gif
new file mode 100644 (file)
index 0000000..58281c3
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-info.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/icon-question.gif b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-question.gif
new file mode 100644 (file)
index 0000000..08abd82
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-question.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/icon-warning.gif b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-warning.gif
new file mode 100644 (file)
index 0000000..27ff98b
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/icon-warning.gif differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/left-corners.png b/weekly-report/war/gxt/themes/slate/images/slate/window/left-corners.png
new file mode 100644 (file)
index 0000000..29fcd3b
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/left-corners.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/left-right.png b/weekly-report/war/gxt/themes/slate/images/slate/window/left-right.png
new file mode 100644 (file)
index 0000000..797c0eb
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/left-right.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/right-corners.png b/weekly-report/war/gxt/themes/slate/images/slate/window/right-corners.png
new file mode 100644 (file)
index 0000000..314da07
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/right-corners.png differ
diff --git a/weekly-report/war/gxt/themes/slate/images/slate/window/top-bottom.png b/weekly-report/war/gxt/themes/slate/images/slate/window/top-bottom.png
new file mode 100644 (file)
index 0000000..e1dab98
Binary files /dev/null and b/weekly-report/war/gxt/themes/slate/images/slate/window/top-bottom.png differ
diff --git a/weekly-report/war/index.css b/weekly-report/war/index.css
new file mode 100644 (file)
index 0000000..3ae0244
--- /dev/null
@@ -0,0 +1,21 @@
+.icon_help { background: url(resources/icon/help.png) no-repeat center left !important; }\r
+.icon_setting { background: url(resources/icon/cog.png) no-repeat center left !important; }\r
+.icon_logout { background: url(resources/icon/stop.png) no-repeat center left !important; }\r
+.icon_user { background: url(resources/icon/user.png) no-repeat center left !important; }\r
+.icon_pencil { background: url(resources/icon/pencil.png) no-repeat center left !important; }\r
+.icon_folder { background: url(resources/icon/folder.png) no-repeat center left !important; }\r
+.icon_trash { background: url(resources/icon/bin.png) no-repeat center left !important; }\r
+.icon_magnifier { background: url(resources/icon/magnifier.png) no-repeat center left !important; }\r
+.icon_accept { background: url(resources/icon/accept.png) no-repeat center left !important; }\r
+.icon_exclamation { background: url(resources/icon/exclamation.png) no-repeat center left !important; }\r
+\r
+.font_title {\r
+    font-size: 20px;\r
+    font-weight: bold;\r
+    width: 120px;\r
+}\r
+\r
+.font_error {\r
+    font-weight: bold;\r
+    color: red;\r
+}\r
diff --git a/weekly-report/war/index.html b/weekly-report/war/index.html
new file mode 100644 (file)
index 0000000..f02864e
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r
+<html>\r
+    <head>\r
+        <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>\r
+        <link type="text/css" rel="stylesheet" href="index.css"></link>\r
+        <link type="text/css" rel="stylesheet" href="gxt/css/gxt-all.css"></link>\r
+        <title>週報業務</title>\r
+        <script type="text/javascript" language="javascript" src="index/index.nocache.js"></script>\r
+        <script type="text/javascript" language="javascript" src="gxt/flash/swfobject.js"></script>\r
+    </head>\r
+    <body>\r
+        <iframe src="javascript:''" id="__gwt_historyFrame" style="width:0;height:0;border:0"></iframe>\r
+    </body>\r
+</html>\r
diff --git a/weekly-report/war/resources/icon/accept.png b/weekly-report/war/resources/icon/accept.png
new file mode 100644 (file)
index 0000000..89c8129
Binary files /dev/null and b/weekly-report/war/resources/icon/accept.png differ
diff --git a/weekly-report/war/resources/icon/bin.png b/weekly-report/war/resources/icon/bin.png
new file mode 100644 (file)
index 0000000..ebad933
Binary files /dev/null and b/weekly-report/war/resources/icon/bin.png differ
diff --git a/weekly-report/war/resources/icon/cog.png b/weekly-report/war/resources/icon/cog.png
new file mode 100644 (file)
index 0000000..67de2c6
Binary files /dev/null and b/weekly-report/war/resources/icon/cog.png differ
diff --git a/weekly-report/war/resources/icon/exclamation.png b/weekly-report/war/resources/icon/exclamation.png
new file mode 100644 (file)
index 0000000..c37bd06
Binary files /dev/null and b/weekly-report/war/resources/icon/exclamation.png differ
diff --git a/weekly-report/war/resources/icon/folder.png b/weekly-report/war/resources/icon/folder.png
new file mode 100644 (file)
index 0000000..784e8fa
Binary files /dev/null and b/weekly-report/war/resources/icon/folder.png differ
diff --git a/weekly-report/war/resources/icon/help.png b/weekly-report/war/resources/icon/help.png
new file mode 100644 (file)
index 0000000..5c87017
Binary files /dev/null and b/weekly-report/war/resources/icon/help.png differ
diff --git a/weekly-report/war/resources/icon/magnifier.png b/weekly-report/war/resources/icon/magnifier.png
new file mode 100644 (file)
index 0000000..cf3d97f
Binary files /dev/null and b/weekly-report/war/resources/icon/magnifier.png differ
diff --git a/weekly-report/war/resources/icon/pencil.png b/weekly-report/war/resources/icon/pencil.png
new file mode 100644 (file)
index 0000000..0bfecd5
Binary files /dev/null and b/weekly-report/war/resources/icon/pencil.png differ
diff --git a/weekly-report/war/resources/icon/stop.png b/weekly-report/war/resources/icon/stop.png
new file mode 100644 (file)
index 0000000..0cfd585
Binary files /dev/null and b/weekly-report/war/resources/icon/stop.png differ
diff --git a/weekly-report/war/resources/icon/user.png b/weekly-report/war/resources/icon/user.png
new file mode 100644 (file)
index 0000000..79f35cc
Binary files /dev/null and b/weekly-report/war/resources/icon/user.png differ