summaryrefslogtreecommitdiff
path: root/swat
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-08-05 19:11:26 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:31:20 -0500
commit8808465e5b70fd6388ed02a2cfda6015ffc914e5 (patch)
tree6e4428825fa1fd21f5e5938a3c0fb16710471852 /swat
parentb99bca56570c0b146128bc243d770bb354ae0cd5 (diff)
downloadsamba-8808465e5b70fd6388ed02a2cfda6015ffc914e5.tar.gz
samba-8808465e5b70fd6388ed02a2cfda6015ffc914e5.tar.bz2
samba-8808465e5b70fd6388ed02a2cfda6015ffc914e5.zip
r9133: a huge import of the qooxdoo infrastructure. I decided to import all the widgets to make experimenting easy during development. We can trim this back later to only the pieces we use
(This used to be commit 631a56da39ed0daae46ca89e57c10b09cf41c718)
Diffstat (limited to 'swat')
-rw-r--r--swat/images/core/alpha.gifbin0 -> 64 bytes
-rw-r--r--swat/images/core/blank.gifbin0 -> 49 bytes
-rw-r--r--swat/images/core/brightness.jpgbin0 -> 456 bytes
-rw-r--r--swat/images/core/brightnesshandle.gifbin0 -> 80 bytes
-rw-r--r--swat/images/core/dotted.gifbin0 -> 44 bytes
-rw-r--r--swat/images/core/huesaturation.jpgbin0 -> 6344 bytes
-rw-r--r--swat/images/core/huesaturationhandle.gifbin0 -> 63 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/antivirus.pngbin0 -> 13008 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/back.pngbin0 -> 9721 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/background.pngbin0 -> 10885 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/bell.pngbin0 -> 7039 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/blockdevice.pngbin0 -> 12036 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/browser.pngbin0 -> 16624 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/cache.pngbin0 -> 9342 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/clock.pngbin0 -> 17753 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/colors.pngbin0 -> 13385 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/core.pngbin0 -> 5141 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/date.pngbin0 -> 14176 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/desktop.pngbin0 -> 14491 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/display.pngbin0 -> 10408 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/document.pngbin0 -> 17351 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/email.pngbin0 -> 13836 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/empty.pngbin0 -> 2348 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/encrypted.pngbin0 -> 10092 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/energy.pngbin0 -> 13998 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/error.pngbin0 -> 8865 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/exec.pngbin0 -> 14999 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/fileprint.pngbin0 -> 5110 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/folder.pngbin0 -> 14212 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/folder_home.pngbin0 -> 11267 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/folder_important.pngbin0 -> 16510 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/folder_locked.pngbin0 -> 17190 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/folder_open.pngbin0 -> 12755 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/font.pngbin0 -> 9390 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/forward.pngbin0 -> 9526 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/gohome.pngbin0 -> 11267 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/hwinfo.pngbin0 -> 11501 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/info.pngbin0 -> 13104 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/kcoloredit.pngbin0 -> 13385 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/kcontrol.pngbin0 -> 12149 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/keyboard.pngbin0 -> 5801 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/khelpcenter.pngbin0 -> 13998 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/konqueror.pngbin0 -> 18754 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/kpaint.pngbin0 -> 16208 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/krita.pngbin0 -> 18314 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/ksmiletris.pngbin0 -> 13287 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/ksnapshot.pngbin0 -> 11549 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/ktalkd.pngbin0 -> 13158 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/kuser.pngbin0 -> 15977 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/kview.pngbin0 -> 17291 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/linuxconf.pngbin0 -> 11705 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/locale.pngbin0 -> 12910 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/looknfeel.pngbin0 -> 12473 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mac.pngbin0 -> 10470 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mail.pngbin0 -> 14353 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mimetypes.pngbin0 -> 14696 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mouse.pngbin0 -> 9174 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mozilla.pngbin0 -> 13510 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mycomputer.pngbin0 -> 11299 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/mymac.pngbin0 -> 9473 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/netscape.pngbin0 -> 11824 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/network.pngbin0 -> 14284 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/password.pngbin0 -> 12716 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/penguin.pngbin0 -> 9799 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/proxy.pngbin0 -> 12824 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/quicktime.pngbin0 -> 17057 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/realplayer.pngbin0 -> 4963 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/reload.pngbin0 -> 9077 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/services.pngbin0 -> 7316 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/socket.pngbin0 -> 18622 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/stylesheet.pngbin0 -> 6513 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/tux.pngbin0 -> 9438 bytes
-rw-r--r--swat/images/icons/crystalsvg/128/up.pngbin0 -> 9783 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/access.pngbin0 -> 1038 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/agent.pngbin0 -> 828 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/antivirus.pngbin0 -> 788 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/appearance.pngbin0 -> 1023 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/apply.pngbin0 -> 661 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/back.pngbin0 -> 868 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/background.pngbin0 -> 733 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/bell.pngbin0 -> 567 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/blockdevice.pngbin0 -> 794 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/bookmark.pngbin0 -> 690 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/browser.pngbin0 -> 925 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/button_cancel.pngbin0 -> 963 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/button_ok.pngbin0 -> 661 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/cache.pngbin0 -> 823 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/clock.pngbin0 -> 875 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/colorize.pngbin0 -> 1023 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/colors.pngbin0 -> 857 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/colorset.pngbin0 -> 929 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/configure.pngbin0 -> 1055 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/contents.pngbin0 -> 1111 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/cookie.pngbin0 -> 996 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/core.pngbin0 -> 721 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/date.pngbin0 -> 871 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/decrypted.pngbin0 -> 923 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/desktop.pngbin0 -> 757 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/display.pngbin0 -> 820 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/doc.pngbin0 -> 577 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/document.pngbin0 -> 692 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/down.pngbin0 -> 1057 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/edit.pngbin0 -> 946 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/editcopy.pngbin0 -> 777 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/editcut.pngbin0 -> 1112 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/editdelete.pngbin0 -> 892 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/editpaste.pngbin0 -> 990 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/edittrash.pngbin0 -> 985 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/email.pngbin0 -> 822 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/empty.pngbin0 -> 544 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/empty_ascii.pngbin0 -> 515 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/encrypted.pngbin0 -> 941 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/energy.pngbin0 -> 874 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/error.pngbin0 -> 792 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/exec.pngbin0 -> 1109 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/favorites.pngbin0 -> 916 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/filefind.pngbin0 -> 1070 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/filenew.pngbin0 -> 725 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/fileopen.pngbin0 -> 1080 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/fileprint.pngbin0 -> 697 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/filesave.pngbin0 -> 838 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/filesaveas.pngbin0 -> 1104 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/find.pngbin0 -> 1223 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/folder.pngbin0 -> 595 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/folder_home.pngbin0 -> 713 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/folder_important.pngbin0 -> 671 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/folder_locked.pngbin0 -> 511 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/folder_open.pngbin0 -> 695 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/font.pngbin0 -> 767 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/forward.pngbin0 -> 1081 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/gohome.pngbin0 -> 713 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/help.pngbin0 -> 997 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/history.pngbin0 -> 1049 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/hwinfo.pngbin0 -> 853 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/icons.pngbin0 -> 927 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/iconthemes.pngbin0 -> 828 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/idea.pngbin0 -> 829 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/important.pngbin0 -> 813 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/info.pngbin0 -> 855 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kcoloredit.pngbin0 -> 857 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kcontrol.pngbin0 -> 887 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/key_enter.pngbin0 -> 408 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/keyboard.pngbin0 -> 661 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/khelpcenter.pngbin0 -> 865 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kmix.pngbin0 -> 988 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/knotify.pngbin0 -> 657 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/konqueror.pngbin0 -> 840 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kpackage.pngbin0 -> 1071 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kpaint.pngbin0 -> 851 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kpersonalizer.pngbin0 -> 903 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/krita.pngbin0 -> 824 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/ksmiletris.pngbin0 -> 877 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/ksnapshot.pngbin0 -> 852 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/ktalkd.pngbin0 -> 792 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/ktip.pngbin0 -> 669 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kuser.pngbin0 -> 868 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/kview.pngbin0 -> 820 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/launch.pngbin0 -> 828 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/linuxconf.pngbin0 -> 892 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/locale.pngbin0 -> 811 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/looknfeel.pngbin0 -> 842 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mac.pngbin0 -> 814 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail.pngbin0 -> 833 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_delete.pngbin0 -> 1042 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_find.pngbin0 -> 1138 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_forward.pngbin0 -> 1052 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_generic.pngbin0 -> 1001 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_new.pngbin0 -> 956 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_replay.pngbin0 -> 1052 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_replyall.pngbin0 -> 1112 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mail_send.pngbin0 -> 1061 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mimetypes.pngbin0 -> 738 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/misc.pngbin0 -> 1114 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mouse.pngbin0 -> 751 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mousecursor.pngbin0 -> 481 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mozilla.pngbin0 -> 879 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mycomputer.pngbin0 -> 832 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/mymac.pngbin0 -> 744 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/netscape.pngbin0 -> 879 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/network.pngbin0 -> 872 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/no.pngbin0 -> 821 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/ok.pngbin0 -> 661 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/opera.pngbin0 -> 904 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/package.pngbin0 -> 1061 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/password.pngbin0 -> 693 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/penguin.pngbin0 -> 807 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/pipe.pngbin0 -> 973 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/printer.pngbin0 -> 992 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/proxy.pngbin0 -> 866 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/quicktime.pngbin0 -> 963 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/realplayer.pngbin0 -> 758 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/redo.pngbin0 -> 727 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/reload.pngbin0 -> 812 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/run.pngbin0 -> 1114 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/search.pngbin0 -> 1023 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/services.pngbin0 -> 639 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/socket.pngbin0 -> 923 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/spellcheck.pngbin0 -> 574 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/stop.pngbin0 -> 911 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/style.pngbin0 -> 907 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/stylesheet.pngbin0 -> 746 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/tar.pngbin0 -> 730 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/thumbnail.pngbin0 -> 1057 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/todo.pngbin0 -> 1032 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/tux.pngbin0 -> 713 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/up.pngbin0 -> 871 bytes
-rw-r--r--swat/images/icons/crystalsvg/16/wizard.pngbin0 -> 313 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/antivirus.pngbin0 -> 1362 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/appearance.pngbin0 -> 1859 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/back.pngbin0 -> 1282 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/background.pngbin0 -> 1393 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/bell.pngbin0 -> 1022 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/blockdevice.pngbin0 -> 1566 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/bookmark.pngbin0 -> 996 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/browser.pngbin0 -> 1818 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/button_cancel.pngbin0 -> 883 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/button_ok.pngbin0 -> 769 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/cache.pngbin0 -> 1559 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/clock.pngbin0 -> 1650 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/colorize.pngbin0 -> 1859 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/colors.pngbin0 -> 1622 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/configure.pngbin0 -> 3797 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/contents.pngbin0 -> 1300 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/core.pngbin0 -> 1122 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/date.pngbin0 -> 1761 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/decrypted.pngbin0 -> 939 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/desktop.pngbin0 -> 1536 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/display.pngbin0 -> 1484 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/document.pngbin0 -> 1085 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/down.pngbin0 -> 1104 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/edit.pngbin0 -> 1076 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/editcopy.pngbin0 -> 590 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/editcut.pngbin0 -> 1196 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/editdelete.pngbin0 -> 951 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/editpaste.pngbin0 -> 881 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/edittrash.pngbin0 -> 1256 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/email.pngbin0 -> 1537 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/empty.pngbin0 -> 690 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/encrypted.pngbin0 -> 3604 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/energy.pngbin0 -> 1819 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/error.pngbin0 -> 1472 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/exec.pngbin0 -> 2058 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/filefind.pngbin0 -> 1393 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/filenew.pngbin0 -> 692 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/fileopen.pngbin0 -> 1356 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/fileprint.pngbin0 -> 927 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/filesave.pngbin0 -> 1531 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/filesaveas.pngbin0 -> 1732 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/find.pngbin0 -> 1382 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/folder.pngbin0 -> 1542 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/folder_home.pngbin0 -> 1617 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/folder_important.pngbin0 -> 1692 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/folder_locked.pngbin0 -> 1786 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/folder_open.pngbin0 -> 1479 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/font.pngbin0 -> 1165 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/forward.pngbin0 -> 1087 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/gohome.pngbin0 -> 1381 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/help.pngbin0 -> 1136 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/history.pngbin0 -> 1515 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/hwinfo.pngbin0 -> 1712 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/idea.pngbin0 -> 893 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/info.pngbin0 -> 1195 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/kcoloredit.pngbin0 -> 1622 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/kcontrol.pngbin0 -> 1707 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/keyboard.pngbin0 -> 1095 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/khelpcenter.pngbin0 -> 1462 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/konqueror.pngbin0 -> 1654 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/kpaint.pngbin0 -> 1601 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/krita.pngbin0 -> 1712 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/ksmiletris.pngbin0 -> 1605 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/ksnapshot.pngbin0 -> 1535 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/ktalkd.pngbin0 -> 1534 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/kuser.pngbin0 -> 1644 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/kview.pngbin0 -> 1642 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/launch.pngbin0 -> 1263 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/linuxconf.pngbin0 -> 1593 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/locale.pngbin0 -> 1559 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/looknfeel.pngbin0 -> 1623 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mac.pngbin0 -> 1657 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail.pngbin0 -> 1528 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_delete.pngbin0 -> 1374 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_find.pngbin0 -> 1570 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_forward.pngbin0 -> 1391 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_generic.pngbin0 -> 1270 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_new.pngbin0 -> 1066 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_replay.pngbin0 -> 1457 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_replyall.pngbin0 -> 1563 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mail_send.pngbin0 -> 1428 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/misc.pngbin0 -> 1354 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mouse.pngbin0 -> 1249 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mozilla.pngbin0 -> 1716 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mycomputer.pngbin0 -> 1492 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/mymac.pngbin0 -> 1358 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/netscape.pngbin0 -> 1664 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/network.pngbin0 -> 1691 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/next.pngbin0 -> 677 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/password.pngbin0 -> 1230 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/penguin.pngbin0 -> 1311 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/previous.pngbin0 -> 729 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/proxy.pngbin0 -> 1400 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/quicktime.pngbin0 -> 1709 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/realplayer.pngbin0 -> 1322 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/redo.pngbin0 -> 739 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/reload.pngbin0 -> 1157 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/run.pngbin0 -> 1354 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/search.pngbin0 -> 1169 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/services.pngbin0 -> 1284 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/socket.pngbin0 -> 1813 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/spellcheck.pngbin0 -> 890 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/stop.pngbin0 -> 974 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/stylesheet.pngbin0 -> 1333 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/thumbnail.pngbin0 -> 3780 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/todo.pngbin0 -> 1512 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/tux.pngbin0 -> 1201 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/up.pngbin0 -> 1273 bytes
-rw-r--r--swat/images/icons/crystalsvg/22/wizard.pngbin0 -> 397 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/access.pngbin0 -> 1860 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/agent.pngbin0 -> 2606 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/antivirus.pngbin0 -> 2074 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/appearance.pngbin0 -> 2521 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/back.pngbin0 -> 2230 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/background.pngbin0 -> 1787 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/bell.pngbin0 -> 1268 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/blockdevice.pngbin0 -> 2081 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/bookmark.pngbin0 -> 1454 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/browser.pngbin0 -> 2579 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/button_cancel.pngbin0 -> 1468 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/button_ok.pngbin0 -> 1393 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/cache.pngbin0 -> 2063 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/clock.pngbin0 -> 2458 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/colorize.pngbin0 -> 2521 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/colors.pngbin0 -> 2295 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/configure.pngbin0 -> 1839 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/contents.pngbin0 -> 2467 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/cookie.pngbin0 -> 2978 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/core.pngbin0 -> 1516 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/date.pngbin0 -> 2478 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/decrypted.pngbin0 -> 1624 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/desktop.pngbin0 -> 2061 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/display.pngbin0 -> 2006 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/document.pngbin0 -> 1956 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/down.pngbin0 -> 1881 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/edit.pngbin0 -> 1627 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/editcopy.pngbin0 -> 3781 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/editcut.pngbin0 -> 2169 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/editdelete.pngbin0 -> 1368 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/editpaste.pngbin0 -> 1458 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/edittrash.pngbin0 -> 2077 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/email.pngbin0 -> 2211 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/empty.pngbin0 -> 966 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/encrypted.pngbin0 -> 1583 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/energy.pngbin0 -> 2464 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/error.pngbin0 -> 1890 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/exec.pngbin0 -> 2349 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/favorites.pngbin0 -> 1636 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/filefind.pngbin0 -> 2161 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/filenew.pngbin0 -> 1177 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/fileopen.pngbin0 -> 2232 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/fileprint.pngbin0 -> 1463 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/filesave.pngbin0 -> 1348 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/filesaveas.pngbin0 -> 2069 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/find.pngbin0 -> 2396 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/folder.pngbin0 -> 2699 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/folder_home.pngbin0 -> 2539 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/folder_important.pngbin0 -> 2806 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/folder_locked.pngbin0 -> 2780 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/folder_open.pngbin0 -> 2214 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/font.pngbin0 -> 1931 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/forward.pngbin0 -> 1898 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/gohome.pngbin0 -> 2088 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/help.pngbin0 -> 1683 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/hwinfo.pngbin0 -> 2197 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/icons.pngbin0 -> 2853 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/iconthemes.pngbin0 -> 2386 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/important.pngbin0 -> 1692 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/info.pngbin0 -> 1706 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kcoloredit.pngbin0 -> 2295 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kcontrol.pngbin0 -> 2375 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/keyboard.pngbin0 -> 1372 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/khelpcenter.pngbin0 -> 2291 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kmix.pngbin0 -> 2465 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/knotify.pngbin0 -> 1488 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/konqueror.pngbin0 -> 2356 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kpackage.pngbin0 -> 2547 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kpaint.pngbin0 -> 2321 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kpersonalizer.pngbin0 -> 2208 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/krita.pngbin0 -> 2326 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/ksmiletris.pngbin0 -> 2224 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/ksnapshot.pngbin0 -> 2056 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/ktalkd.pngbin0 -> 2133 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/ktip.pngbin0 -> 1665 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kuser.pngbin0 -> 2280 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/kview.pngbin0 -> 2358 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/launch.pngbin0 -> 2288 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/linuxconf.pngbin0 -> 2343 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/locale.pngbin0 -> 2252 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/looknfeel.pngbin0 -> 2135 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mac.pngbin0 -> 2040 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail.pngbin0 -> 2229 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail_delete.pngbin0 -> 2351 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail_find.pngbin0 -> 2804 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail_generic.pngbin0 -> 2211 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail_new.pngbin0 -> 2028 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail_replay.pngbin0 -> 2444 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mail_send.pngbin0 -> 2447 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mimetypes.pngbin0 -> 1927 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/misc.pngbin0 -> 2349 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mouse.pngbin0 -> 1861 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mozilla.pngbin0 -> 2479 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mycomputer.pngbin0 -> 2064 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/mymac.pngbin0 -> 1767 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/netscape.pngbin0 -> 2432 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/network.pngbin0 -> 2864 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/opera.pngbin0 -> 2218 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/package.pngbin0 -> 2379 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/password.pngbin0 -> 1799 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/penguin.pngbin0 -> 1976 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/pipe.pngbin0 -> 2404 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/proxy.pngbin0 -> 2225 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/quicktime.pngbin0 -> 2592 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/realplayer.pngbin0 -> 1748 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/redo.pngbin0 -> 1236 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/reload.pngbin0 -> 1969 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/run.pngbin0 -> 2349 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/search.pngbin0 -> 1983 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/services.pngbin0 -> 1422 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/socket.pngbin0 -> 2658 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/stop.pngbin0 -> 4136 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/style.pngbin0 -> 1883 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/stylesheet.pngbin0 -> 1837 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/todo.pngbin0 -> 2186 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/tux.pngbin0 -> 1790 bytes
-rw-r--r--swat/images/icons/crystalsvg/32/up.pngbin0 -> 2234 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/access.pngbin0 -> 2729 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/agent.pngbin0 -> 4149 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/antivirus.pngbin0 -> 3928 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/back.pngbin0 -> 3862 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/background.pngbin0 -> 3242 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/bell.pngbin0 -> 2287 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/blockdevice.pngbin0 -> 3668 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/browser.pngbin0 -> 4782 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/cache.pngbin0 -> 3350 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/clock.pngbin0 -> 4736 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/colors.pngbin0 -> 4226 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/core.pngbin0 -> 2343 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/date.pngbin0 -> 4593 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/desktop.pngbin0 -> 3923 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/display.pngbin0 -> 3362 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/document.pngbin0 -> 3271 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/email.pngbin0 -> 3964 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/empty.pngbin0 -> 1405 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/encrypted.pngbin0 -> 3250 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/energy.pngbin0 -> 4398 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/error.pngbin0 -> 3592 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/exec.pngbin0 -> 3900 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/favorites.pngbin0 -> 2663 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/fileprint.pngbin0 -> 2230 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/folder.pngbin0 -> 4975 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/folder_home.pngbin0 -> 3719 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/folder_important.pngbin0 -> 4749 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/folder_locked.pngbin0 -> 4808 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/folder_open.pngbin0 -> 3752 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/font.pngbin0 -> 2978 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/forward.pngbin0 -> 3919 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/gohome.pngbin0 -> 3719 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/hwinfo.pngbin0 -> 3953 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/icons.pngbin0 -> 4794 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/iconthemes.pngbin0 -> 3875 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/important.pngbin0 -> 2296 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/info.pngbin0 -> 4090 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kcoloredit.pngbin0 -> 4226 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kcontrol.pngbin0 -> 4134 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/keyboard.pngbin0 -> 2195 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/khelpcenter.pngbin0 -> 4031 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kmix.pngbin0 -> 3972 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/knotify.pngbin0 -> 2357 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/konqueror.pngbin0 -> 4538 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kpackage.pngbin0 -> 4630 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kpaint.pngbin0 -> 4346 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/krita.pngbin0 -> 4463 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/ksmiletris.pngbin0 -> 4225 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/ksnapshot.pngbin0 -> 3530 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/ktalkd.pngbin0 -> 3882 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/ktip.pngbin0 -> 2595 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kuser.pngbin0 -> 4151 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/kview.pngbin0 -> 4478 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/linuxconf.pngbin0 -> 4124 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/locale.pngbin0 -> 4018 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/looknfeel.pngbin0 -> 3829 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/mac.pngbin0 -> 3488 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/mail.pngbin0 -> 4013 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/mouse.pngbin0 -> 3054 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/mozilla.pngbin0 -> 4443 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/mycomputer.pngbin0 -> 3516 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/mymac.pngbin0 -> 2978 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/netscape.pngbin0 -> 4220 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/network.pngbin0 -> 5140 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/opera.pngbin0 -> 4032 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/package.pngbin0 -> 4253 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/password.pngbin0 -> 3316 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/penguin.pngbin0 -> 3410 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/pipe.pngbin0 -> 4060 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/proxy.pngbin0 -> 3921 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/quicktime.pngbin0 -> 4588 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/realplayer.pngbin0 -> 2765 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/reload.pngbin0 -> 3354 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/services.pngbin0 -> 2283 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/socket.pngbin0 -> 4975 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/style.pngbin0 -> 3110 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/stylesheet.pngbin0 -> 3179 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/tux.pngbin0 -> 3076 bytes
-rw-r--r--swat/images/icons/crystalsvg/48/up.pngbin0 -> 3893 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/antivirus.pngbin0 -> 5706 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/back.pngbin0 -> 5423 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/background.pngbin0 -> 4447 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/bell.pngbin0 -> 3238 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/blockdevice.pngbin0 -> 5228 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/browser.pngbin0 -> 7001 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/cache.pngbin0 -> 4681 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/clock.pngbin0 -> 7240 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/colors.pngbin0 -> 6160 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/core.pngbin0 -> 3166 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/date.pngbin0 -> 6801 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/desktop.pngbin0 -> 5834 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/display.pngbin0 -> 4691 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/document.pngbin0 -> 5394 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/email.pngbin0 -> 5847 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/empty.pngbin0 -> 1609 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/encrypted.pngbin0 -> 4126 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/energy.pngbin0 -> 6462 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/error.pngbin0 -> 4569 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/exec.pngbin0 -> 6053 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/fileprint.pngbin0 -> 3006 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/folder.pngbin0 -> 5912 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/folder_home.pngbin0 -> 5212 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/folder_important.pngbin0 -> 7109 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/folder_locked.pngbin0 -> 6890 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/folder_open.pngbin0 -> 5651 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/font.pngbin0 -> 4190 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/forward.pngbin0 -> 5382 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/gohome.pngbin0 -> 5212 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/hwinfo.pngbin0 -> 5648 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/icons.pngbin0 -> 7051 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/important.pngbin0 -> 2854 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/info.pngbin0 -> 5141 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kcoloredit.pngbin0 -> 6160 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kcontrol.pngbin0 -> 5941 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/keyboard.pngbin0 -> 2975 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/khelpcenter.pngbin0 -> 5990 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kmix.pngbin0 -> 6733 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/knotify.pngbin0 -> 3285 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/konqueror.pngbin0 -> 6905 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kpackage.pngbin0 -> 6757 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kpaint.pngbin0 -> 6439 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/krita.pngbin0 -> 6876 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/ksmiletris.pngbin0 -> 6172 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/ksnapshot.pngbin0 -> 5070 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/ktalkd.pngbin0 -> 5698 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/ktip.pngbin0 -> 3606 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kuser.pngbin0 -> 6154 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/kview.pngbin0 -> 6808 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/linuxconf.pngbin0 -> 6053 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/locale.pngbin0 -> 5906 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/looknfeel.pngbin0 -> 5513 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mac.pngbin0 -> 4898 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mail.pngbin0 -> 5986 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mimetypes.pngbin0 -> 5268 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mouse.pngbin0 -> 4168 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mozilla.pngbin0 -> 6584 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mycomputer.pngbin0 -> 4978 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/mymac.pngbin0 -> 4236 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/netscape.pngbin0 -> 5824 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/network.pngbin0 -> 7042 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/package.pngbin0 -> 5972 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/password.pngbin0 -> 5026 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/penguin.pngbin0 -> 4707 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/pipe.pngbin0 -> 6762 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/proxy.pngbin0 -> 5870 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/quicktime.pngbin0 -> 6701 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/realplayer.pngbin0 -> 3634 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/reload.pngbin0 -> 4900 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/services.pngbin0 -> 3347 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/socket.pngbin0 -> 7516 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/style.pngbin0 -> 5292 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/stylesheet.pngbin0 -> 4585 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/tux.pngbin0 -> 4382 bytes
-rw-r--r--swat/images/icons/crystalsvg/64/up.pngbin0 -> 5462 bytes
-rw-r--r--swat/images/icons/crystalsvg/README7
-rw-r--r--swat/images/icons/nuvola/128/access.pngbin0 -> 11558 bytes
-rw-r--r--swat/images/icons/nuvola/128/agent.pngbin0 -> 14060 bytes
-rw-r--r--swat/images/icons/nuvola/128/background.pngbin0 -> 12208 bytes
-rw-r--r--swat/images/icons/nuvola/128/bell.pngbin0 -> 14231 bytes
-rw-r--r--swat/images/icons/nuvola/128/browser.pngbin0 -> 21000 bytes
-rw-r--r--swat/images/icons/nuvola/128/cache.pngbin0 -> 7672 bytes
-rw-r--r--swat/images/icons/nuvola/128/clock.pngbin0 -> 21387 bytes
-rw-r--r--swat/images/icons/nuvola/128/colors.pngbin0 -> 17155 bytes
-rw-r--r--swat/images/icons/nuvola/128/colorset.pngbin0 -> 11314 bytes
-rw-r--r--swat/images/icons/nuvola/128/cookie.pngbin0 -> 13230 bytes
-rw-r--r--swat/images/icons/nuvola/128/core.pngbin0 -> 8543 bytes
-rw-r--r--swat/images/icons/nuvola/128/date.pngbin0 -> 16676 bytes
-rw-r--r--swat/images/icons/nuvola/128/desktop.pngbin0 -> 19771 bytes
-rw-r--r--swat/images/icons/nuvola/128/display.pngbin0 -> 9379 bytes
-rw-r--r--swat/images/icons/nuvola/128/document.pngbin0 -> 11449 bytes
-rw-r--r--swat/images/icons/nuvola/128/email.pngbin0 -> 12326 bytes
-rw-r--r--swat/images/icons/nuvola/128/empty.pngbin0 -> 2773 bytes
-rw-r--r--swat/images/icons/nuvola/128/encrypted.pngbin0 -> 8491 bytes
-rw-r--r--swat/images/icons/nuvola/128/energy.pngbin0 -> 17007 bytes
-rw-r--r--swat/images/icons/nuvola/128/error.pngbin0 -> 13245 bytes
-rw-r--r--swat/images/icons/nuvola/128/exec.pngbin0 -> 11366 bytes
-rw-r--r--swat/images/icons/nuvola/128/folder.pngbin0 -> 19233 bytes
-rw-r--r--swat/images/icons/nuvola/128/folder_home.pngbin0 -> 20279 bytes
-rw-r--r--swat/images/icons/nuvola/128/folder_important.pngbin0 -> 21008 bytes
-rw-r--r--swat/images/icons/nuvola/128/folder_locked.pngbin0 -> 19717 bytes
-rw-r--r--swat/images/icons/nuvola/128/folder_open.pngbin0 -> 14274 bytes
-rw-r--r--swat/images/icons/nuvola/128/font.pngbin0 -> 6686 bytes
-rw-r--r--swat/images/icons/nuvola/128/hwinfo.pngbin0 -> 13737 bytes
-rw-r--r--swat/images/icons/nuvola/128/icons.pngbin0 -> 7492 bytes
-rw-r--r--swat/images/icons/nuvola/128/iconthemes.pngbin0 -> 13520 bytes
-rw-r--r--swat/images/icons/nuvola/128/important.pngbin0 -> 11392 bytes
-rw-r--r--swat/images/icons/nuvola/128/info.pngbin0 -> 10246 bytes
-rw-r--r--swat/images/icons/nuvola/128/kcoloredit.pngbin0 -> 18818 bytes
-rw-r--r--swat/images/icons/nuvola/128/kcontrol.pngbin0 -> 16220 bytes
-rw-r--r--swat/images/icons/nuvola/128/keyboard.pngbin0 -> 7169 bytes
-rw-r--r--swat/images/icons/nuvola/128/khelpcenter.pngbin0 -> 15934 bytes
-rw-r--r--swat/images/icons/nuvola/128/kmix.pngbin0 -> 16182 bytes
-rw-r--r--swat/images/icons/nuvola/128/knotify.pngbin0 -> 19872 bytes
-rw-r--r--swat/images/icons/nuvola/128/konqueror.pngbin0 -> 24789 bytes
-rw-r--r--swat/images/icons/nuvola/128/kpackage.pngbin0 -> 10643 bytes
-rw-r--r--swat/images/icons/nuvola/128/kpaint.pngbin0 -> 17793 bytes
-rw-r--r--swat/images/icons/nuvola/128/krita.pngbin0 -> 22601 bytes
-rw-r--r--swat/images/icons/nuvola/128/ksnapshot.pngbin0 -> 12110 bytes
-rw-r--r--swat/images/icons/nuvola/128/ktip.pngbin0 -> 9440 bytes
-rw-r--r--swat/images/icons/nuvola/128/kuser.pngbin0 -> 22679 bytes
-rw-r--r--swat/images/icons/nuvola/128/kview.pngbin0 -> 18750 bytes
-rw-r--r--swat/images/icons/nuvola/128/locale.pngbin0 -> 8853 bytes
-rw-r--r--swat/images/icons/nuvola/128/looknfeel.pngbin0 -> 20365 bytes
-rw-r--r--swat/images/icons/nuvola/128/mozilla.pngbin0 -> 14896 bytes
-rw-r--r--swat/images/icons/nuvola/128/mycomputer.pngbin0 -> 19567 bytes
-rw-r--r--swat/images/icons/nuvola/128/netscape.pngbin0 -> 10750 bytes
-rw-r--r--swat/images/icons/nuvola/128/network.pngbin0 -> 16988 bytes
-rw-r--r--swat/images/icons/nuvola/128/opera.pngbin0 -> 15691 bytes
-rw-r--r--swat/images/icons/nuvola/128/package.pngbin0 -> 13879 bytes
-rw-r--r--swat/images/icons/nuvola/128/password.pngbin0 -> 12059 bytes
-rw-r--r--swat/images/icons/nuvola/128/pipe.pngbin0 -> 8628 bytes
-rw-r--r--swat/images/icons/nuvola/128/realplayer.pngbin0 -> 11442 bytes
-rw-r--r--swat/images/icons/nuvola/128/services.pngbin0 -> 11361 bytes
-rw-r--r--swat/images/icons/nuvola/128/socket.pngbin0 -> 19770 bytes
-rw-r--r--swat/images/icons/nuvola/128/style.pngbin0 -> 7834 bytes
-rw-r--r--swat/images/icons/nuvola/128/stylesheet.pngbin0 -> 9209 bytes
-rw-r--r--swat/images/icons/nuvola/16/access.pngbin0 -> 1053 bytes
-rw-r--r--swat/images/icons/nuvola/16/agent.pngbin0 -> 1067 bytes
-rw-r--r--swat/images/icons/nuvola/16/apply.pngbin0 -> 883 bytes
-rw-r--r--swat/images/icons/nuvola/16/back.pngbin0 -> 912 bytes
-rw-r--r--swat/images/icons/nuvola/16/background.pngbin0 -> 1010 bytes
-rw-r--r--swat/images/icons/nuvola/16/bell.pngbin0 -> 1035 bytes
-rw-r--r--swat/images/icons/nuvola/16/bookmark.pngbin0 -> 914 bytes
-rw-r--r--swat/images/icons/nuvola/16/browser.pngbin0 -> 1154 bytes
-rw-r--r--swat/images/icons/nuvola/16/button_cancel.pngbin0 -> 1133 bytes
-rw-r--r--swat/images/icons/nuvola/16/button_ok.pngbin0 -> 883 bytes
-rw-r--r--swat/images/icons/nuvola/16/cache.pngbin0 -> 778 bytes
-rw-r--r--swat/images/icons/nuvola/16/clock.pngbin0 -> 1160 bytes
-rw-r--r--swat/images/icons/nuvola/16/colorize.pngbin0 -> 1137 bytes
-rw-r--r--swat/images/icons/nuvola/16/colors.pngbin0 -> 1112 bytes
-rw-r--r--swat/images/icons/nuvola/16/colorset.pngbin0 -> 912 bytes
-rw-r--r--swat/images/icons/nuvola/16/configure.pngbin0 -> 980 bytes
-rw-r--r--swat/images/icons/nuvola/16/cookie.pngbin0 -> 1122 bytes
-rw-r--r--swat/images/icons/nuvola/16/core.pngbin0 -> 870 bytes
-rw-r--r--swat/images/icons/nuvola/16/date.pngbin0 -> 1114 bytes
-rw-r--r--swat/images/icons/nuvola/16/decrypted.pngbin0 -> 972 bytes
-rw-r--r--swat/images/icons/nuvola/16/desktop.pngbin0 -> 1077 bytes
-rw-r--r--swat/images/icons/nuvola/16/display.pngbin0 -> 888 bytes
-rw-r--r--swat/images/icons/nuvola/16/document.pngbin0 -> 948 bytes
-rw-r--r--swat/images/icons/nuvola/16/down.pngbin0 -> 912 bytes
-rw-r--r--swat/images/icons/nuvola/16/edit.pngbin0 -> 734 bytes
-rw-r--r--swat/images/icons/nuvola/16/editcopy.pngbin0 -> 730 bytes
-rw-r--r--swat/images/icons/nuvola/16/editcut.pngbin0 -> 873 bytes
-rw-r--r--swat/images/icons/nuvola/16/editdelete.pngbin0 -> 860 bytes
-rw-r--r--swat/images/icons/nuvola/16/editpaste.pngbin0 -> 911 bytes
-rw-r--r--swat/images/icons/nuvola/16/edittrash.pngbin0 -> 881 bytes
-rw-r--r--swat/images/icons/nuvola/16/email.pngbin0 -> 971 bytes
-rw-r--r--swat/images/icons/nuvola/16/empty.pngbin0 -> 458 bytes
-rw-r--r--swat/images/icons/nuvola/16/encrypted.pngbin0 -> 1002 bytes
-rw-r--r--swat/images/icons/nuvola/16/energy.pngbin0 -> 1082 bytes
-rw-r--r--swat/images/icons/nuvola/16/error.pngbin0 -> 1150 bytes
-rw-r--r--swat/images/icons/nuvola/16/exec.pngbin0 -> 1022 bytes
-rw-r--r--swat/images/icons/nuvola/16/filenew.pngbin0 -> 805 bytes
-rw-r--r--swat/images/icons/nuvola/16/fileopen.pngbin0 -> 702 bytes
-rw-r--r--swat/images/icons/nuvola/16/fileprint.pngbin0 -> 1020 bytes
-rw-r--r--swat/images/icons/nuvola/16/filesave.pngbin0 -> 898 bytes
-rw-r--r--swat/images/icons/nuvola/16/filesaveas.pngbin0 -> 1009 bytes
-rw-r--r--swat/images/icons/nuvola/16/find.pngbin0 -> 688 bytes
-rw-r--r--swat/images/icons/nuvola/16/folder.pngbin0 -> 558 bytes
-rw-r--r--swat/images/icons/nuvola/16/folder_home.pngbin0 -> 1063 bytes
-rw-r--r--swat/images/icons/nuvola/16/folder_important.pngbin0 -> 846 bytes
-rw-r--r--swat/images/icons/nuvola/16/folder_locked.pngbin0 -> 798 bytes
-rw-r--r--swat/images/icons/nuvola/16/folder_open.pngbin0 -> 599 bytes
-rw-r--r--swat/images/icons/nuvola/16/font.pngbin0 -> 736 bytes
-rw-r--r--swat/images/icons/nuvola/16/forward.pngbin0 -> 920 bytes
-rw-r--r--swat/images/icons/nuvola/16/gohome.pngbin0 -> 1125 bytes
-rw-r--r--swat/images/icons/nuvola/16/help.pngbin0 -> 1187 bytes
-rw-r--r--swat/images/icons/nuvola/16/history.pngbin0 -> 1166 bytes
-rw-r--r--swat/images/icons/nuvola/16/hwinfo.pngbin0 -> 1122 bytes
-rw-r--r--swat/images/icons/nuvola/16/icons.pngbin0 -> 781 bytes
-rw-r--r--swat/images/icons/nuvola/16/iconthemes.pngbin0 -> 969 bytes
-rw-r--r--swat/images/icons/nuvola/16/important.pngbin0 -> 921 bytes
-rw-r--r--swat/images/icons/nuvola/16/info.pngbin0 -> 956 bytes
-rw-r--r--swat/images/icons/nuvola/16/kcoloredit.pngbin0 -> 1116 bytes
-rw-r--r--swat/images/icons/nuvola/16/kcontrol.pngbin0 -> 1118 bytes
-rw-r--r--swat/images/icons/nuvola/16/keyboard.pngbin0 -> 723 bytes
-rw-r--r--swat/images/icons/nuvola/16/khelpcenter.pngbin0 -> 1107 bytes
-rw-r--r--swat/images/icons/nuvola/16/kmix.pngbin0 -> 1102 bytes
-rw-r--r--swat/images/icons/nuvola/16/knotify.pngbin0 -> 861 bytes
-rw-r--r--swat/images/icons/nuvola/16/konqueror.pngbin0 -> 1151 bytes
-rw-r--r--swat/images/icons/nuvola/16/kpackage.pngbin0 -> 983 bytes
-rw-r--r--swat/images/icons/nuvola/16/kpaint.pngbin0 -> 1032 bytes
-rw-r--r--swat/images/icons/nuvola/16/krita.pngbin0 -> 1053 bytes
-rw-r--r--swat/images/icons/nuvola/16/ksnapshot.pngbin0 -> 1067 bytes
-rw-r--r--swat/images/icons/nuvola/16/ktip.pngbin0 -> 925 bytes
-rw-r--r--swat/images/icons/nuvola/16/kuser.pngbin0 -> 1173 bytes
-rw-r--r--swat/images/icons/nuvola/16/kview.pngbin0 -> 1046 bytes
-rw-r--r--swat/images/icons/nuvola/16/locale.pngbin0 -> 1058 bytes
-rw-r--r--swat/images/icons/nuvola/16/looknfeel.pngbin0 -> 1075 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_delete.pngbin0 -> 1167 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_find.pngbin0 -> 1141 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_forward.pngbin0 -> 1098 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_generic.pngbin0 -> 1148 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_new.pngbin0 -> 769 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_replyall.pngbin0 -> 1137 bytes
-rw-r--r--swat/images/icons/nuvola/16/mail_send.pngbin0 -> 1114 bytes
-rw-r--r--swat/images/icons/nuvola/16/misc.pngbin0 -> 1041 bytes
-rw-r--r--swat/images/icons/nuvola/16/mozilla.pngbin0 -> 850 bytes
-rw-r--r--swat/images/icons/nuvola/16/mycomputer.pngbin0 -> 1028 bytes
-rw-r--r--swat/images/icons/nuvola/16/netscape.pngbin0 -> 934 bytes
-rw-r--r--swat/images/icons/nuvola/16/network.pngbin0 -> 1163 bytes
-rw-r--r--swat/images/icons/nuvola/16/next.pngbin0 -> 781 bytes
-rw-r--r--swat/images/icons/nuvola/16/no.pngbin0 -> 922 bytes
-rw-r--r--swat/images/icons/nuvola/16/ok.pngbin0 -> 883 bytes
-rw-r--r--swat/images/icons/nuvola/16/opera.pngbin0 -> 1089 bytes
-rw-r--r--swat/images/icons/nuvola/16/package.pngbin0 -> 932 bytes
-rw-r--r--swat/images/icons/nuvola/16/password.pngbin0 -> 949 bytes
-rw-r--r--swat/images/icons/nuvola/16/pipe.pngbin0 -> 772 bytes
-rw-r--r--swat/images/icons/nuvola/16/previous.pngbin0 -> 777 bytes
-rw-r--r--swat/images/icons/nuvola/16/realplayer.pngbin0 -> 1111 bytes
-rw-r--r--swat/images/icons/nuvola/16/redo.pngbin0 -> 708 bytes
-rw-r--r--swat/images/icons/nuvola/16/reload.pngbin0 -> 1135 bytes
-rw-r--r--swat/images/icons/nuvola/16/run.pngbin0 -> 987 bytes
-rw-r--r--swat/images/icons/nuvola/16/services.pngbin0 -> 1030 bytes
-rw-r--r--swat/images/icons/nuvola/16/socket.pngbin0 -> 1180 bytes
-rw-r--r--swat/images/icons/nuvola/16/spellcheck.pngbin0 -> 839 bytes
-rw-r--r--swat/images/icons/nuvola/16/stop.pngbin0 -> 1032 bytes
-rw-r--r--swat/images/icons/nuvola/16/style.pngbin0 -> 991 bytes
-rw-r--r--swat/images/icons/nuvola/16/stylesheet.pngbin0 -> 970 bytes
-rw-r--r--swat/images/icons/nuvola/16/thumbnail.pngbin0 -> 922 bytes
-rw-r--r--swat/images/icons/nuvola/16/up.pngbin0 -> 906 bytes
-rw-r--r--swat/images/icons/nuvola/16/wizard.pngbin0 -> 899 bytes
-rw-r--r--swat/images/icons/nuvola/22/access.pngbin0 -> 1492 bytes
-rw-r--r--swat/images/icons/nuvola/22/agent.pngbin0 -> 1589 bytes
-rw-r--r--swat/images/icons/nuvola/22/apply.pngbin0 -> 1192 bytes
-rw-r--r--swat/images/icons/nuvola/22/back.pngbin0 -> 1229 bytes
-rw-r--r--swat/images/icons/nuvola/22/background.pngbin0 -> 1511 bytes
-rw-r--r--swat/images/icons/nuvola/22/bell.pngbin0 -> 1487 bytes
-rw-r--r--swat/images/icons/nuvola/22/bookmark.pngbin0 -> 1318 bytes
-rw-r--r--swat/images/icons/nuvola/22/browser.pngbin0 -> 1882 bytes
-rw-r--r--swat/images/icons/nuvola/22/button_cancel.pngbin0 -> 1572 bytes
-rw-r--r--swat/images/icons/nuvola/22/button_ok.pngbin0 -> 1192 bytes
-rw-r--r--swat/images/icons/nuvola/22/cache.pngbin0 -> 1154 bytes
-rw-r--r--swat/images/icons/nuvola/22/clock.pngbin0 -> 1726 bytes
-rw-r--r--swat/images/icons/nuvola/22/colorize.pngbin0 -> 1722 bytes
-rw-r--r--swat/images/icons/nuvola/22/colors.pngbin0 -> 1700 bytes
-rw-r--r--swat/images/icons/nuvola/22/colorset.pngbin0 -> 1297 bytes
-rw-r--r--swat/images/icons/nuvola/22/configure.pngbin0 -> 1276 bytes
-rw-r--r--swat/images/icons/nuvola/22/cookie.pngbin0 -> 1672 bytes
-rw-r--r--swat/images/icons/nuvola/22/core.pngbin0 -> 1234 bytes
-rw-r--r--swat/images/icons/nuvola/22/date.pngbin0 -> 1707 bytes
-rw-r--r--swat/images/icons/nuvola/22/decrypted.pngbin0 -> 1429 bytes
-rw-r--r--swat/images/icons/nuvola/22/desktop.pngbin0 -> 1649 bytes
-rw-r--r--swat/images/icons/nuvola/22/display.pngbin0 -> 1305 bytes
-rw-r--r--swat/images/icons/nuvola/22/document.pngbin0 -> 1314 bytes
-rw-r--r--swat/images/icons/nuvola/22/down.pngbin0 -> 1234 bytes
-rw-r--r--swat/images/icons/nuvola/22/edit.pngbin0 -> 987 bytes
-rw-r--r--swat/images/icons/nuvola/22/editcopy.pngbin0 -> 944 bytes
-rw-r--r--swat/images/icons/nuvola/22/editcut.pngbin0 -> 1424 bytes
-rw-r--r--swat/images/icons/nuvola/22/editdelete.pngbin0 -> 1205 bytes
-rw-r--r--swat/images/icons/nuvola/22/editpaste.pngbin0 -> 1274 bytes
-rw-r--r--swat/images/icons/nuvola/22/edittrash.pngbin0 -> 1140 bytes
-rw-r--r--swat/images/icons/nuvola/22/email.pngbin0 -> 1333 bytes
-rw-r--r--swat/images/icons/nuvola/22/empty.pngbin0 -> 558 bytes
-rw-r--r--swat/images/icons/nuvola/22/encrypted.pngbin0 -> 1435 bytes
-rw-r--r--swat/images/icons/nuvola/22/energy.pngbin0 -> 1663 bytes
-rw-r--r--swat/images/icons/nuvola/22/error.pngbin0 -> 1672 bytes
-rw-r--r--swat/images/icons/nuvola/22/exec.pngbin0 -> 1418 bytes
-rw-r--r--swat/images/icons/nuvola/22/filenew.pngbin0 -> 1145 bytes
-rw-r--r--swat/images/icons/nuvola/22/fileopen.pngbin0 -> 1040 bytes
-rw-r--r--swat/images/icons/nuvola/22/fileprint.pngbin0 -> 1578 bytes
-rw-r--r--swat/images/icons/nuvola/22/filesave.pngbin0 -> 1182 bytes
-rw-r--r--swat/images/icons/nuvola/22/filesaveas.pngbin0 -> 1469 bytes
-rw-r--r--swat/images/icons/nuvola/22/find.pngbin0 -> 976 bytes
-rw-r--r--swat/images/icons/nuvola/22/folder.pngbin0 -> 1805 bytes
-rw-r--r--swat/images/icons/nuvola/22/folder_home.pngbin0 -> 1594 bytes
-rw-r--r--swat/images/icons/nuvola/22/folder_important.pngbin0 -> 1868 bytes
-rw-r--r--swat/images/icons/nuvola/22/folder_locked.pngbin0 -> 1876 bytes
-rw-r--r--swat/images/icons/nuvola/22/folder_open.pngbin0 -> 1412 bytes
-rw-r--r--swat/images/icons/nuvola/22/font.pngbin0 -> 981 bytes
-rw-r--r--swat/images/icons/nuvola/22/forward.pngbin0 -> 1243 bytes
-rw-r--r--swat/images/icons/nuvola/22/gohome.pngbin0 -> 1641 bytes
-rw-r--r--swat/images/icons/nuvola/22/help.pngbin0 -> 1474 bytes
-rw-r--r--swat/images/icons/nuvola/22/history.pngbin0 -> 1863 bytes
-rw-r--r--swat/images/icons/nuvola/22/hwinfo.pngbin0 -> 1659 bytes
-rw-r--r--swat/images/icons/nuvola/22/icons.pngbin0 -> 1089 bytes
-rw-r--r--swat/images/icons/nuvola/22/iconthemes.pngbin0 -> 1461 bytes
-rw-r--r--swat/images/icons/nuvola/22/important.pngbin0 -> 1407 bytes
-rw-r--r--swat/images/icons/nuvola/22/info.pngbin0 -> 1352 bytes
-rw-r--r--swat/images/icons/nuvola/22/kcoloredit.pngbin0 -> 1746 bytes
-rw-r--r--swat/images/icons/nuvola/22/kcontrol.pngbin0 -> 1761 bytes
-rw-r--r--swat/images/icons/nuvola/22/keyboard.pngbin0 -> 1008 bytes
-rw-r--r--swat/images/icons/nuvola/22/khelpcenter.pngbin0 -> 1633 bytes
-rw-r--r--swat/images/icons/nuvola/22/kmix.pngbin0 -> 1679 bytes
-rw-r--r--swat/images/icons/nuvola/22/knotify.pngbin0 -> 1193 bytes
-rw-r--r--swat/images/icons/nuvola/22/konqueror.pngbin0 -> 1938 bytes
-rw-r--r--swat/images/icons/nuvola/22/kpackage.pngbin0 -> 1385 bytes
-rw-r--r--swat/images/icons/nuvola/22/kpaint.pngbin0 -> 1468 bytes
-rw-r--r--swat/images/icons/nuvola/22/krita.pngbin0 -> 1697 bytes
-rw-r--r--swat/images/icons/nuvola/22/ksnapshot.pngbin0 -> 1550 bytes
-rw-r--r--swat/images/icons/nuvola/22/ktip.pngbin0 -> 1276 bytes
-rw-r--r--swat/images/icons/nuvola/22/kuser.pngbin0 -> 1850 bytes
-rw-r--r--swat/images/icons/nuvola/22/kview.pngbin0 -> 1589 bytes
-rw-r--r--swat/images/icons/nuvola/22/locale.pngbin0 -> 1490 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_delete.pngbin0 -> 1705 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_find.pngbin0 -> 1697 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_forward.pngbin0 -> 1656 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_generic.pngbin0 -> 1671 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_new.pngbin0 -> 1115 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_replyall.pngbin0 -> 1717 bytes
-rw-r--r--swat/images/icons/nuvola/22/mail_send.pngbin0 -> 1628 bytes
-rw-r--r--swat/images/icons/nuvola/22/misc.pngbin0 -> 1607 bytes
-rw-r--r--swat/images/icons/nuvola/22/mycomputer.pngbin0 -> 1514 bytes
-rw-r--r--swat/images/icons/nuvola/22/netscape.pngbin0 -> 1314 bytes
-rw-r--r--swat/images/icons/nuvola/22/network.pngbin0 -> 1779 bytes
-rw-r--r--swat/images/icons/nuvola/22/next.pngbin0 -> 1003 bytes
-rw-r--r--swat/images/icons/nuvola/22/no.pngbin0 -> 1360 bytes
-rw-r--r--swat/images/icons/nuvola/22/ok.pngbin0 -> 1192 bytes
-rw-r--r--swat/images/icons/nuvola/22/opera.pngbin0 -> 1704 bytes
-rw-r--r--swat/images/icons/nuvola/22/password.pngbin0 -> 1336 bytes
-rw-r--r--swat/images/icons/nuvola/22/pipe.pngbin0 -> 1044 bytes
-rw-r--r--swat/images/icons/nuvola/22/previous.pngbin0 -> 975 bytes
-rw-r--r--swat/images/icons/nuvola/22/realplayer.pngbin0 -> 1530 bytes
-rw-r--r--swat/images/icons/nuvola/22/redo.pngbin0 -> 1035 bytes
-rw-r--r--swat/images/icons/nuvola/22/reload.pngbin0 -> 1684 bytes
-rw-r--r--swat/images/icons/nuvola/22/run.pngbin0 -> 1353 bytes
-rw-r--r--swat/images/icons/nuvola/22/services.pngbin0 -> 1497 bytes
-rw-r--r--swat/images/icons/nuvola/22/socket.pngbin0 -> 1788 bytes
-rw-r--r--swat/images/icons/nuvola/22/spellcheck.pngbin0 -> 922 bytes
-rw-r--r--swat/images/icons/nuvola/22/stop.pngbin0 -> 1473 bytes
-rw-r--r--swat/images/icons/nuvola/22/style.pngbin0 -> 1392 bytes
-rw-r--r--swat/images/icons/nuvola/22/stylesheet.pngbin0 -> 1347 bytes
-rw-r--r--swat/images/icons/nuvola/22/thumbnail.pngbin0 -> 1262 bytes
-rw-r--r--swat/images/icons/nuvola/22/up.pngbin0 -> 1222 bytes
-rw-r--r--swat/images/icons/nuvola/22/wizard.pngbin0 -> 1229 bytes
-rw-r--r--swat/images/icons/nuvola/32/access.pngbin0 -> 2295 bytes
-rw-r--r--swat/images/icons/nuvola/32/agent.pngbin0 -> 2419 bytes
-rw-r--r--swat/images/icons/nuvola/32/apply.pngbin0 -> 1732 bytes
-rw-r--r--swat/images/icons/nuvola/32/back.pngbin0 -> 1821 bytes
-rw-r--r--swat/images/icons/nuvola/32/background.pngbin0 -> 2413 bytes
-rw-r--r--swat/images/icons/nuvola/32/bell.pngbin0 -> 2390 bytes
-rw-r--r--swat/images/icons/nuvola/32/bookmark.pngbin0 -> 2126 bytes
-rw-r--r--swat/images/icons/nuvola/32/browser.pngbin0 -> 3141 bytes
-rw-r--r--swat/images/icons/nuvola/32/button_cancel.pngbin0 -> 2478 bytes
-rw-r--r--swat/images/icons/nuvola/32/button_ok.pngbin0 -> 1732 bytes
-rw-r--r--swat/images/icons/nuvola/32/cache.pngbin0 -> 1700 bytes
-rw-r--r--swat/images/icons/nuvola/32/clock.pngbin0 -> 2905 bytes
-rw-r--r--swat/images/icons/nuvola/32/colorize.pngbin0 -> 2739 bytes
-rw-r--r--swat/images/icons/nuvola/32/colors.pngbin0 -> 2625 bytes
-rw-r--r--swat/images/icons/nuvola/32/colorset.pngbin0 -> 1964 bytes
-rw-r--r--swat/images/icons/nuvola/32/configure.pngbin0 -> 1907 bytes
-rw-r--r--swat/images/icons/nuvola/32/contents.pngbin0 -> 2226 bytes
-rw-r--r--swat/images/icons/nuvola/32/cookie.pngbin0 -> 2679 bytes
-rw-r--r--swat/images/icons/nuvola/32/core.pngbin0 -> 1884 bytes
-rw-r--r--swat/images/icons/nuvola/32/date.pngbin0 -> 2825 bytes
-rw-r--r--swat/images/icons/nuvola/32/decrypted.pngbin0 -> 2025 bytes
-rw-r--r--swat/images/icons/nuvola/32/desktop.pngbin0 -> 2742 bytes
-rw-r--r--swat/images/icons/nuvola/32/display.pngbin0 -> 1965 bytes
-rw-r--r--swat/images/icons/nuvola/32/document.pngbin0 -> 2118 bytes
-rw-r--r--swat/images/icons/nuvola/32/down.pngbin0 -> 1748 bytes
-rw-r--r--swat/images/icons/nuvola/32/edit.pngbin0 -> 1395 bytes
-rw-r--r--swat/images/icons/nuvola/32/editcopy.pngbin0 -> 1329 bytes
-rw-r--r--swat/images/icons/nuvola/32/editcut.pngbin0 -> 1849 bytes
-rw-r--r--swat/images/icons/nuvola/32/editdelete.pngbin0 -> 1805 bytes
-rw-r--r--swat/images/icons/nuvola/32/editpaste.pngbin0 -> 1799 bytes
-rw-r--r--swat/images/icons/nuvola/32/edittrash.pngbin0 -> 1866 bytes
-rw-r--r--swat/images/icons/nuvola/32/email.pngbin0 -> 2079 bytes
-rw-r--r--swat/images/icons/nuvola/32/empty.pngbin0 -> 782 bytes
-rw-r--r--swat/images/icons/nuvola/32/encrypted.pngbin0 -> 2058 bytes
-rw-r--r--swat/images/icons/nuvola/32/energy.pngbin0 -> 2753 bytes
-rw-r--r--swat/images/icons/nuvola/32/error.pngbin0 -> 2622 bytes
-rw-r--r--swat/images/icons/nuvola/32/exec.pngbin0 -> 2168 bytes
-rw-r--r--swat/images/icons/nuvola/32/filenew.pngbin0 -> 1857 bytes
-rw-r--r--swat/images/icons/nuvola/32/fileopen.pngbin0 -> 1714 bytes
-rw-r--r--swat/images/icons/nuvola/32/fileprint.pngbin0 -> 2504 bytes
-rw-r--r--swat/images/icons/nuvola/32/filesave.pngbin0 -> 1741 bytes
-rw-r--r--swat/images/icons/nuvola/32/filesaveas.pngbin0 -> 2346 bytes
-rw-r--r--swat/images/icons/nuvola/32/find.pngbin0 -> 1446 bytes
-rw-r--r--swat/images/icons/nuvola/32/folder.pngbin0 -> 2972 bytes
-rw-r--r--swat/images/icons/nuvola/32/folder_home.pngbin0 -> 2676 bytes
-rw-r--r--swat/images/icons/nuvola/32/folder_important.pngbin0 -> 3214 bytes
-rw-r--r--swat/images/icons/nuvola/32/folder_locked.pngbin0 -> 3092 bytes
-rw-r--r--swat/images/icons/nuvola/32/folder_open.pngbin0 -> 2300 bytes
-rw-r--r--swat/images/icons/nuvola/32/font.pngbin0 -> 1497 bytes
-rw-r--r--swat/images/icons/nuvola/32/forward.pngbin0 -> 1860 bytes
-rw-r--r--swat/images/icons/nuvola/32/gohome.pngbin0 -> 2585 bytes
-rw-r--r--swat/images/icons/nuvola/32/help.pngbin0 -> 2671 bytes
-rw-r--r--swat/images/icons/nuvola/32/history.pngbin0 -> 3316 bytes
-rw-r--r--swat/images/icons/nuvola/32/hwinfo.pngbin0 -> 2653 bytes
-rw-r--r--swat/images/icons/nuvola/32/icons.pngbin0 -> 1646 bytes
-rw-r--r--swat/images/icons/nuvola/32/iconthemes.pngbin0 -> 2408 bytes
-rw-r--r--swat/images/icons/nuvola/32/important.pngbin0 -> 2169 bytes
-rw-r--r--swat/images/icons/nuvola/32/info.pngbin0 -> 2017 bytes
-rw-r--r--swat/images/icons/nuvola/32/kcoloredit.pngbin0 -> 2829 bytes
-rw-r--r--swat/images/icons/nuvola/32/kcontrol.pngbin0 -> 2857 bytes
-rw-r--r--swat/images/icons/nuvola/32/keyboard.pngbin0 -> 1482 bytes
-rw-r--r--swat/images/icons/nuvola/32/khelpcenter.pngbin0 -> 2647 bytes
-rw-r--r--swat/images/icons/nuvola/32/kmix.pngbin0 -> 2906 bytes
-rw-r--r--swat/images/icons/nuvola/32/knotify.pngbin0 -> 3050 bytes
-rw-r--r--swat/images/icons/nuvola/32/konqueror.pngbin0 -> 3473 bytes
-rw-r--r--swat/images/icons/nuvola/32/kpackage.pngbin0 -> 2166 bytes
-rw-r--r--swat/images/icons/nuvola/32/kpaint.pngbin0 -> 2608 bytes
-rw-r--r--swat/images/icons/nuvola/32/krita.pngbin0 -> 2793 bytes
-rw-r--r--swat/images/icons/nuvola/32/ksnapshot.pngbin0 -> 2385 bytes
-rw-r--r--swat/images/icons/nuvola/32/ktip.pngbin0 -> 1884 bytes
-rw-r--r--swat/images/icons/nuvola/32/kuser.pngbin0 -> 3199 bytes
-rw-r--r--swat/images/icons/nuvola/32/kview.pngbin0 -> 2649 bytes
-rw-r--r--swat/images/icons/nuvola/32/locale.pngbin0 -> 2179 bytes
-rw-r--r--swat/images/icons/nuvola/32/looknfeel.pngbin0 -> 2770 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_delete.pngbin0 -> 2713 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_find.pngbin0 -> 2707 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_forward.pngbin0 -> 2579 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_generic.pngbin0 -> 2665 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_new.pngbin0 -> 1672 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_replyall.pngbin0 -> 2829 bytes
-rw-r--r--swat/images/icons/nuvola/32/mail_send.pngbin0 -> 2577 bytes
-rw-r--r--swat/images/icons/nuvola/32/misc.pngbin0 -> 2853 bytes
-rw-r--r--swat/images/icons/nuvola/32/mozilla.pngbin0 -> 2322 bytes
-rw-r--r--swat/images/icons/nuvola/32/mycomputer.pngbin0 -> 2726 bytes
-rw-r--r--swat/images/icons/nuvola/32/netscape.pngbin0 -> 2020 bytes
-rw-r--r--swat/images/icons/nuvola/32/network.pngbin0 -> 2838 bytes
-rw-r--r--swat/images/icons/nuvola/32/next.pngbin0 -> 1591 bytes
-rw-r--r--swat/images/icons/nuvola/32/no.pngbin0 -> 1998 bytes
-rw-r--r--swat/images/icons/nuvola/32/ok.pngbin0 -> 1732 bytes
-rw-r--r--swat/images/icons/nuvola/32/opera.pngbin0 -> 2676 bytes
-rw-r--r--swat/images/icons/nuvola/32/package.pngbin0 -> 2346 bytes
-rw-r--r--swat/images/icons/nuvola/32/password.pngbin0 -> 2085 bytes
-rw-r--r--swat/images/icons/nuvola/32/pipe.pngbin0 -> 1624 bytes
-rw-r--r--swat/images/icons/nuvola/32/previous.pngbin0 -> 1587 bytes
-rw-r--r--swat/images/icons/nuvola/32/realplayer.pngbin0 -> 2358 bytes
-rw-r--r--swat/images/icons/nuvola/32/redo.pngbin0 -> 1615 bytes
-rw-r--r--swat/images/icons/nuvola/32/reload.pngbin0 -> 2536 bytes
-rw-r--r--swat/images/icons/nuvola/32/run.pngbin0 -> 2057 bytes
-rw-r--r--swat/images/icons/nuvola/32/services.pngbin0 -> 2139 bytes
-rw-r--r--swat/images/icons/nuvola/32/socket.pngbin0 -> 3000 bytes
-rw-r--r--swat/images/icons/nuvola/32/spellcheck.pngbin0 -> 1791 bytes
-rw-r--r--swat/images/icons/nuvola/32/stop.pngbin0 -> 2437 bytes
-rw-r--r--swat/images/icons/nuvola/32/style.pngbin0 -> 2070 bytes
-rw-r--r--swat/images/icons/nuvola/32/stylesheet.pngbin0 -> 2041 bytes
-rw-r--r--swat/images/icons/nuvola/32/thumbnail.pngbin0 -> 1865 bytes
-rw-r--r--swat/images/icons/nuvola/32/up.pngbin0 -> 1849 bytes
-rw-r--r--swat/images/icons/nuvola/32/wizard.pngbin0 -> 1764 bytes
-rw-r--r--swat/images/icons/nuvola/48/access.pngbin0 -> 3532 bytes
-rw-r--r--swat/images/icons/nuvola/48/agent.pngbin0 -> 4020 bytes
-rw-r--r--swat/images/icons/nuvola/48/apply.pngbin0 -> 2855 bytes
-rw-r--r--swat/images/icons/nuvola/48/back.pngbin0 -> 2687 bytes
-rw-r--r--swat/images/icons/nuvola/48/background.pngbin0 -> 3833 bytes
-rw-r--r--swat/images/icons/nuvola/48/bell.pngbin0 -> 3966 bytes
-rw-r--r--swat/images/icons/nuvola/48/bookmark.pngbin0 -> 3507 bytes
-rw-r--r--swat/images/icons/nuvola/48/browser.pngbin0 -> 5597 bytes
-rw-r--r--swat/images/icons/nuvola/48/button_cancel.pngbin0 -> 3612 bytes
-rw-r--r--swat/images/icons/nuvola/48/button_ok.pngbin0 -> 2856 bytes
-rw-r--r--swat/images/icons/nuvola/48/cache.pngbin0 -> 2484 bytes
-rw-r--r--swat/images/icons/nuvola/48/clock.pngbin0 -> 5063 bytes
-rw-r--r--swat/images/icons/nuvola/48/colorize.pngbin0 -> 4642 bytes
-rw-r--r--swat/images/icons/nuvola/48/colors.pngbin0 -> 4469 bytes
-rw-r--r--swat/images/icons/nuvola/48/colorset.pngbin0 -> 3169 bytes
-rw-r--r--swat/images/icons/nuvola/48/configure.pngbin0 -> 2897 bytes
-rw-r--r--swat/images/icons/nuvola/48/cookie.pngbin0 -> 3736 bytes
-rw-r--r--swat/images/icons/nuvola/48/core.pngbin0 -> 2803 bytes
-rw-r--r--swat/images/icons/nuvola/48/date.pngbin0 -> 4711 bytes
-rw-r--r--swat/images/icons/nuvola/48/decrypted.pngbin0 -> 3115 bytes
-rw-r--r--swat/images/icons/nuvola/48/desktop.pngbin0 -> 4878 bytes
-rw-r--r--swat/images/icons/nuvola/48/display.pngbin0 -> 3071 bytes
-rw-r--r--swat/images/icons/nuvola/48/document.pngbin0 -> 3330 bytes
-rw-r--r--swat/images/icons/nuvola/48/down.pngbin0 -> 2627 bytes
-rw-r--r--swat/images/icons/nuvola/48/edit.pngbin0 -> 2011 bytes
-rw-r--r--swat/images/icons/nuvola/48/editcopy.pngbin0 -> 1989 bytes
-rw-r--r--swat/images/icons/nuvola/48/editcut.pngbin0 -> 3159 bytes
-rw-r--r--swat/images/icons/nuvola/48/editdelete.pngbin0 -> 2893 bytes
-rw-r--r--swat/images/icons/nuvola/48/editpaste.pngbin0 -> 2704 bytes
-rw-r--r--swat/images/icons/nuvola/48/edittrash.pngbin0 -> 2961 bytes
-rw-r--r--swat/images/icons/nuvola/48/email.pngbin0 -> 3393 bytes
-rw-r--r--swat/images/icons/nuvola/48/empty.pngbin0 -> 1126 bytes
-rw-r--r--swat/images/icons/nuvola/48/encrypted.pngbin0 -> 3170 bytes
-rw-r--r--swat/images/icons/nuvola/48/energy.pngbin0 -> 4619 bytes
-rw-r--r--swat/images/icons/nuvola/48/error.pngbin0 -> 4477 bytes
-rw-r--r--swat/images/icons/nuvola/48/exec.pngbin0 -> 3465 bytes
-rw-r--r--swat/images/icons/nuvola/48/filenew.pngbin0 -> 3005 bytes
-rw-r--r--swat/images/icons/nuvola/48/fileopen.pngbin0 -> 2654 bytes
-rw-r--r--swat/images/icons/nuvola/48/fileprint.pngbin0 -> 3369 bytes
-rw-r--r--swat/images/icons/nuvola/48/filesave.pngbin0 -> 2627 bytes
-rw-r--r--swat/images/icons/nuvola/48/filesaveas.pngbin0 -> 3846 bytes
-rw-r--r--swat/images/icons/nuvola/48/find.pngbin0 -> 2379 bytes
-rw-r--r--swat/images/icons/nuvola/48/folder.pngbin0 -> 4789 bytes
-rw-r--r--swat/images/icons/nuvola/48/folder_home.pngbin0 -> 5001 bytes
-rw-r--r--swat/images/icons/nuvola/48/folder_important.pngbin0 -> 5277 bytes
-rw-r--r--swat/images/icons/nuvola/48/folder_locked.pngbin0 -> 5067 bytes
-rw-r--r--swat/images/icons/nuvola/48/folder_open.pngbin0 -> 3806 bytes
-rw-r--r--swat/images/icons/nuvola/48/font.pngbin0 -> 2301 bytes
-rw-r--r--swat/images/icons/nuvola/48/forward.pngbin0 -> 2892 bytes
-rw-r--r--swat/images/icons/nuvola/48/gohome.pngbin0 -> 3831 bytes
-rw-r--r--swat/images/icons/nuvola/48/help.pngbin0 -> 4662 bytes
-rw-r--r--swat/images/icons/nuvola/48/history.pngbin0 -> 5804 bytes
-rw-r--r--swat/images/icons/nuvola/48/hwinfo.pngbin0 -> 4180 bytes
-rw-r--r--swat/images/icons/nuvola/48/icons.pngbin0 -> 2461 bytes
-rw-r--r--swat/images/icons/nuvola/48/iconthemes.pngbin0 -> 4045 bytes
-rw-r--r--swat/images/icons/nuvola/48/important.pngbin0 -> 3519 bytes
-rw-r--r--swat/images/icons/nuvola/48/info.pngbin0 -> 3188 bytes
-rw-r--r--swat/images/icons/nuvola/48/kcoloredit.pngbin0 -> 4945 bytes
-rw-r--r--swat/images/icons/nuvola/48/kcontrol.pngbin0 -> 4736 bytes
-rw-r--r--swat/images/icons/nuvola/48/keyboard.pngbin0 -> 2274 bytes
-rw-r--r--swat/images/icons/nuvola/48/khelpcenter.pngbin0 -> 4449 bytes
-rw-r--r--swat/images/icons/nuvola/48/kmix.pngbin0 -> 4609 bytes
-rw-r--r--swat/images/icons/nuvola/48/knotify.pngbin0 -> 5027 bytes
-rw-r--r--swat/images/icons/nuvola/48/konqueror.pngbin0 -> 6027 bytes
-rw-r--r--swat/images/icons/nuvola/48/kpackage.pngbin0 -> 3383 bytes
-rw-r--r--swat/images/icons/nuvola/48/kpaint.pngbin0 -> 4379 bytes
-rw-r--r--swat/images/icons/nuvola/48/krita.pngbin0 -> 5146 bytes
-rw-r--r--swat/images/icons/nuvola/48/ksnapshot.pngbin0 -> 3731 bytes
-rw-r--r--swat/images/icons/nuvola/48/ktip.pngbin0 -> 2935 bytes
-rw-r--r--swat/images/icons/nuvola/48/kuser.pngbin0 -> 5470 bytes
-rw-r--r--swat/images/icons/nuvola/48/kview.pngbin0 -> 4643 bytes
-rw-r--r--swat/images/icons/nuvola/48/locale.pngbin0 -> 3077 bytes
-rw-r--r--swat/images/icons/nuvola/48/looknfeel.pngbin0 -> 4935 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_delete.pngbin0 -> 4412 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_find.pngbin0 -> 4526 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_forward.pngbin0 -> 4373 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_generic.pngbin0 -> 4286 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_new.pngbin0 -> 2598 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_replyall.pngbin0 -> 4934 bytes
-rw-r--r--swat/images/icons/nuvola/48/mail_send.pngbin0 -> 4174 bytes
-rw-r--r--swat/images/icons/nuvola/48/misc.pngbin0 -> 5083 bytes
-rw-r--r--swat/images/icons/nuvola/48/mozilla.pngbin0 -> 4079 bytes
-rw-r--r--swat/images/icons/nuvola/48/mycomputer.pngbin0 -> 4814 bytes
-rw-r--r--swat/images/icons/nuvola/48/netscape.pngbin0 -> 3265 bytes
-rw-r--r--swat/images/icons/nuvola/48/network.pngbin0 -> 4733 bytes
-rw-r--r--swat/images/icons/nuvola/48/next.pngbin0 -> 2535 bytes
-rw-r--r--swat/images/icons/nuvola/48/no.pngbin0 -> 3062 bytes
-rw-r--r--swat/images/icons/nuvola/48/ok.pngbin0 -> 2855 bytes
-rw-r--r--swat/images/icons/nuvola/48/opera.pngbin0 -> 4421 bytes
-rw-r--r--swat/images/icons/nuvola/48/package.pngbin0 -> 3960 bytes
-rw-r--r--swat/images/icons/nuvola/48/password.pngbin0 -> 3365 bytes
-rw-r--r--swat/images/icons/nuvola/48/pipe.pngbin0 -> 2469 bytes
-rw-r--r--swat/images/icons/nuvola/48/previous.pngbin0 -> 2526 bytes
-rw-r--r--swat/images/icons/nuvola/48/realplayer.pngbin0 -> 3821 bytes
-rw-r--r--swat/images/icons/nuvola/48/redo.pngbin0 -> 2545 bytes
-rw-r--r--swat/images/icons/nuvola/48/reload.pngbin0 -> 4229 bytes
-rw-r--r--swat/images/icons/nuvola/48/run.pngbin0 -> 3171 bytes
-rw-r--r--swat/images/icons/nuvola/48/services.pngbin0 -> 3381 bytes
-rw-r--r--swat/images/icons/nuvola/48/socket.pngbin0 -> 5395 bytes
-rw-r--r--swat/images/icons/nuvola/48/spellcheck.pngbin0 -> 2956 bytes
-rw-r--r--swat/images/icons/nuvola/48/stop.pngbin0 -> 3681 bytes
-rw-r--r--swat/images/icons/nuvola/48/style.pngbin0 -> 2920 bytes
-rw-r--r--swat/images/icons/nuvola/48/stylesheet.pngbin0 -> 3150 bytes
-rw-r--r--swat/images/icons/nuvola/48/thumbnail.pngbin0 -> 2806 bytes
-rw-r--r--swat/images/icons/nuvola/48/up.pngbin0 -> 2802 bytes
-rw-r--r--swat/images/icons/nuvola/48/wizard.pngbin0 -> 2743 bytes
-rw-r--r--swat/images/icons/nuvola/64/access.pngbin0 -> 4801 bytes
-rw-r--r--swat/images/icons/nuvola/64/agent.pngbin0 -> 5966 bytes
-rw-r--r--swat/images/icons/nuvola/64/background.pngbin0 -> 5477 bytes
-rw-r--r--swat/images/icons/nuvola/64/bell.pngbin0 -> 5776 bytes
-rw-r--r--swat/images/icons/nuvola/64/browser.pngbin0 -> 8319 bytes
-rw-r--r--swat/images/icons/nuvola/64/cache.pngbin0 -> 3420 bytes
-rw-r--r--swat/images/icons/nuvola/64/clock.pngbin0 -> 7445 bytes
-rw-r--r--swat/images/icons/nuvola/64/colors.pngbin0 -> 6581 bytes
-rw-r--r--swat/images/icons/nuvola/64/colorset.pngbin0 -> 4613 bytes
-rw-r--r--swat/images/icons/nuvola/64/cookie.pngbin0 -> 5359 bytes
-rw-r--r--swat/images/icons/nuvola/64/core.pngbin0 -> 3824 bytes
-rw-r--r--swat/images/icons/nuvola/64/date.pngbin0 -> 6813 bytes
-rw-r--r--swat/images/icons/nuvola/64/desktop.pngbin0 -> 7360 bytes
-rw-r--r--swat/images/icons/nuvola/64/display.pngbin0 -> 4321 bytes
-rw-r--r--swat/images/icons/nuvola/64/document.pngbin0 -> 4878 bytes
-rw-r--r--swat/images/icons/nuvola/64/email.pngbin0 -> 4911 bytes
-rw-r--r--swat/images/icons/nuvola/64/empty.pngbin0 -> 1289 bytes
-rw-r--r--swat/images/icons/nuvola/64/encrypted.pngbin0 -> 3781 bytes
-rw-r--r--swat/images/icons/nuvola/64/energy.pngbin0 -> 6915 bytes
-rw-r--r--swat/images/icons/nuvola/64/error.pngbin0 -> 6081 bytes
-rw-r--r--swat/images/icons/nuvola/64/exec.pngbin0 -> 5180 bytes
-rw-r--r--swat/images/icons/nuvola/64/folder.pngbin0 -> 7310 bytes
-rw-r--r--swat/images/icons/nuvola/64/folder_home.pngbin0 -> 7482 bytes
-rw-r--r--swat/images/icons/nuvola/64/folder_important.pngbin0 -> 7889 bytes
-rw-r--r--swat/images/icons/nuvola/64/folder_locked.pngbin0 -> 7544 bytes
-rw-r--r--swat/images/icons/nuvola/64/folder_open.pngbin0 -> 5712 bytes
-rw-r--r--swat/images/icons/nuvola/64/font.pngbin0 -> 3011 bytes
-rw-r--r--swat/images/icons/nuvola/64/hwinfo.pngbin0 -> 5838 bytes
-rw-r--r--swat/images/icons/nuvola/64/icons.pngbin0 -> 3428 bytes
-rw-r--r--swat/images/icons/nuvola/64/iconthemes.pngbin0 -> 5696 bytes
-rw-r--r--swat/images/icons/nuvola/64/important.pngbin0 -> 4994 bytes
-rw-r--r--swat/images/icons/nuvola/64/info.pngbin0 -> 4434 bytes
-rw-r--r--swat/images/icons/nuvola/64/kcoloredit.pngbin0 -> 7297 bytes
-rw-r--r--swat/images/icons/nuvola/64/kcontrol.pngbin0 -> 6794 bytes
-rw-r--r--swat/images/icons/nuvola/64/keyboard.pngbin0 -> 3284 bytes
-rw-r--r--swat/images/icons/nuvola/64/khelpcenter.pngbin0 -> 6693 bytes
-rw-r--r--swat/images/icons/nuvola/64/kmix.pngbin0 -> 6596 bytes
-rw-r--r--swat/images/icons/nuvola/64/knotify.pngbin0 -> 7690 bytes
-rw-r--r--swat/images/icons/nuvola/64/konqueror.pngbin0 -> 9333 bytes
-rw-r--r--swat/images/icons/nuvola/64/kpackage.pngbin0 -> 4618 bytes
-rw-r--r--swat/images/icons/nuvola/64/kpaint.pngbin0 -> 6520 bytes
-rw-r--r--swat/images/icons/nuvola/64/krita.pngbin0 -> 8117 bytes
-rw-r--r--swat/images/icons/nuvola/64/ksnapshot.pngbin0 -> 5383 bytes
-rw-r--r--swat/images/icons/nuvola/64/ktip.pngbin0 -> 4185 bytes
-rw-r--r--swat/images/icons/nuvola/64/kuser.pngbin0 -> 8036 bytes
-rw-r--r--swat/images/icons/nuvola/64/kview.pngbin0 -> 6829 bytes
-rw-r--r--swat/images/icons/nuvola/64/locale.pngbin0 -> 4062 bytes
-rw-r--r--swat/images/icons/nuvola/64/looknfeel.pngbin0 -> 7579 bytes
-rw-r--r--swat/images/icons/nuvola/64/mozilla.pngbin0 -> 5845 bytes
-rw-r--r--swat/images/icons/nuvola/64/mycomputer.pngbin0 -> 7319 bytes
-rw-r--r--swat/images/icons/nuvola/64/netscape.pngbin0 -> 4575 bytes
-rw-r--r--swat/images/icons/nuvola/64/network.pngbin0 -> 6889 bytes
-rw-r--r--swat/images/icons/nuvola/64/opera.pngbin0 -> 6319 bytes
-rw-r--r--swat/images/icons/nuvola/64/package.pngbin0 -> 5838 bytes
-rw-r--r--swat/images/icons/nuvola/64/password.pngbin0 -> 4696 bytes
-rw-r--r--swat/images/icons/nuvola/64/pipe.pngbin0 -> 3808 bytes
-rw-r--r--swat/images/icons/nuvola/64/realplayer.pngbin0 -> 5413 bytes
-rw-r--r--swat/images/icons/nuvola/64/services.pngbin0 -> 4855 bytes
-rw-r--r--swat/images/icons/nuvola/64/socket.pngbin0 -> 7761 bytes
-rw-r--r--swat/images/icons/nuvola/64/style.pngbin0 -> 4291 bytes
-rw-r--r--swat/images/icons/nuvola/64/stylesheet.pngbin0 -> 4433 bytes
-rw-r--r--swat/images/icons/nuvola/README4
-rw-r--r--swat/images/icons/nuvola/author3
-rw-r--r--swat/images/icons/nuvola/license.txt504
-rw-r--r--swat/images/icons/nuvola/readme.txt60
-rw-r--r--swat/images/icons/nuvola/thanks.to7
-rw-r--r--swat/images/widgets/windows/arrows/down.gifbin0 -> 49 bytes
-rw-r--r--swat/images/widgets/windows/arrows/down_small.gifbin0 -> 46 bytes
-rw-r--r--swat/images/widgets/windows/arrows/down_tiny.gifbin0 -> 44 bytes
-rw-r--r--swat/images/widgets/windows/arrows/first.pngbin0 -> 321 bytes
-rw-r--r--swat/images/widgets/windows/arrows/forward.gifbin0 -> 55 bytes
-rw-r--r--swat/images/widgets/windows/arrows/last.pngbin0 -> 333 bytes
-rw-r--r--swat/images/widgets/windows/arrows/left.pngbin0 -> 299 bytes
-rw-r--r--swat/images/widgets/windows/arrows/minimize.gifbin0 -> 52 bytes
-rw-r--r--swat/images/widgets/windows/arrows/next.gifbin0 -> 49 bytes
-rw-r--r--swat/images/widgets/windows/arrows/previous.gifbin0 -> 49 bytes
-rw-r--r--swat/images/widgets/windows/arrows/rewind.gifbin0 -> 54 bytes
-rw-r--r--swat/images/widgets/windows/arrows/right.pngbin0 -> 313 bytes
-rw-r--r--swat/images/widgets/windows/arrows/up.gifbin0 -> 48 bytes
-rw-r--r--swat/images/widgets/windows/arrows/up_small.gifbin0 -> 46 bytes
-rw-r--r--swat/images/widgets/windows/arrows/up_tiny.gifbin0 -> 44 bytes
-rw-r--r--swat/images/widgets/windows/cursors/alias.gifbin0 -> 104 bytes
-rw-r--r--swat/images/widgets/windows/cursors/copy.gifbin0 -> 102 bytes
-rw-r--r--swat/images/widgets/windows/cursors/move.gifbin0 -> 67 bytes
-rw-r--r--swat/images/widgets/windows/cursors/nodrop.gifbin0 -> 120 bytes
-rw-r--r--swat/images/widgets/windows/menu/checkbox.gifbin0 -> 838 bytes
-rw-r--r--swat/images/widgets/windows/menu/radiobutton.gifbin0 -> 830 bytes
-rw-r--r--swat/images/widgets/windows/tree/cross.gifbin0 -> 67 bytes
-rw-r--r--swat/images/widgets/windows/tree/cross_minus.gifbin0 -> 154 bytes
-rw-r--r--swat/images/widgets/windows/tree/cross_plus.gifbin0 -> 158 bytes
-rw-r--r--swat/images/widgets/windows/tree/end.gifbin0 -> 64 bytes
-rw-r--r--swat/images/widgets/windows/tree/end_minus.gifbin0 -> 154 bytes
-rw-r--r--swat/images/widgets/windows/tree/end_plus.gifbin0 -> 158 bytes
-rw-r--r--swat/images/widgets/windows/tree/line.gifbin0 -> 64 bytes
-rw-r--r--swat/images/widgets/windows/tree/minus.gifbin0 -> 148 bytes
-rw-r--r--swat/images/widgets/windows/tree/plus.gifbin0 -> 152 bytes
-rw-r--r--swat/images/widgets/windows/window/close.gifbin0 -> 58 bytes
-rw-r--r--swat/images/widgets/windows/window/maximize.gifbin0 -> 56 bytes
-rw-r--r--swat/images/widgets/windows/window/minimize.gifbin0 -> 52 bytes
-rw-r--r--swat/images/widgets/windows/window/restore.gifbin0 -> 58 bytes
-rw-r--r--swat/menu.js4
-rw-r--r--swat/scripting/header_columns.esp5
-rw-r--r--swat/style/qooxdoo/core.css2
-rw-r--r--swat/style/qooxdoo/layouts/application.css5
-rw-r--r--swat/style/qooxdoo/layouts/page.css6
-rw-r--r--swat/style/qooxdoo/test.css2
-rw-r--r--swat/style/qooxdoo/themes.css3
-rwxr-xr-xswat/style/qooxdoo/themes/osx/grad_blue.gifbin0 -> 143 bytes
-rwxr-xr-xswat/style/qooxdoo/themes/osx/grad_gray.gifbin0 -> 156 bytes
-rwxr-xr-xswat/style/qooxdoo/themes/osx/pin_dark.gifbin0 -> 36 bytes
-rwxr-xr-xswat/style/qooxdoo/themes/osx/toolbar_bg.gifbin0 -> 36 bytes
-rw-r--r--swat/style/qooxdoo/themes/win9x/radiobuttonbackground.gifbin0 -> 44 bytes
-rw-r--r--swat/style/qooxdoo/themes/win9x/theme.css2
-rw-r--r--swat/style/qooxdoo/themes/win9x/windowcaption_active.pngbin0 -> 160 bytes
-rw-r--r--swat/style/qooxdoo/themes/win9x/windowcaption_inactive.pngbin0 -> 114 bytes
-rw-r--r--swat/style/qooxdoo/themes/winxp/menubackground.gifbin0 -> 814 bytes
-rw-r--r--swat/style/qooxdoo/themes/winxp/theme.css2
-rw-r--r--swat/style/qooxdoo/themes/winxp/toolbarparthandle.gifbin0 -> 817 bytes
-rw-r--r--swat/style/qooxdoo/widgets.css2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxApplication.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxBorder.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxBuilder.js3
-rw-r--r--swat/style/qooxdoo/widgets/core/QxClient.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxClientWindow.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxCommand.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxData.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxDebug.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxDom.js3
-rw-r--r--swat/style/qooxdoo/widgets/core/QxExtend.js4
-rw-r--r--swat/style/qooxdoo/widgets/core/QxNativeWindow.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxObject.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxSelectionStorage.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxTarget.js3
-rw-r--r--swat/style/qooxdoo/widgets/core/QxTimer.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxUserApplication.js2
-rw-r--r--swat/style/qooxdoo/widgets/core/QxXmlHttpLoader.js2
-rw-r--r--swat/style/qooxdoo/widgets/events/QxDataEvent.js2
-rw-r--r--swat/style/qooxdoo/widgets/events/QxDragEvent.js2
-rw-r--r--swat/style/qooxdoo/widgets/events/QxEvent.js2
-rw-r--r--swat/style/qooxdoo/widgets/events/QxFocusEvent.js2
-rw-r--r--swat/style/qooxdoo/widgets/events/QxKeyEvent.js4
-rw-r--r--swat/style/qooxdoo/widgets/events/QxMouseEvent.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxDataManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js3
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxEventManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxFocusManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxImageManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxMenuManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxPopupManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxRangeManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxSelectionManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxTimerManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxToolTipManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/managers/QxWindowManager.js2
-rw-r--r--swat/style/qooxdoo/widgets/qooxdoo.js1
-rw-r--r--swat/style/qooxdoo/widgets/types/QxColor.js3
-rw-r--r--swat/style/qooxdoo/widgets/types/QxInteger.js2
-rw-r--r--swat/style/qooxdoo/widgets/types/QxNumber.js2
-rw-r--r--swat/style/qooxdoo/widgets/types/QxString.js2
-rw-r--r--swat/style/qooxdoo/widgets/types/QxTextile.js4
-rw-r--r--swat/style/qooxdoo/widgets/types/QxVariable.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxAtom.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBlocker.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxBoxLayout.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxCheckBox.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxClientDocument.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxColorSelector.js5
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxComboBox.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxContainer.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxDockLayout.js4
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxFieldSet.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxFlowLayout.js3
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxForm.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxGallery.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxGalleryList.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxGridLayout.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxIframe.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxImage.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxImagePreloader.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxInline.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxLayout.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxList.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxListItem.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxListView.js7
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenu.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenuBar.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenuBarButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenuButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxMenuSeparator.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxPasswordField.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxPopup.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxRadioButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxSpinner.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTab.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTabBar.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTabFrame.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTabPage.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTabPane.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTerminator.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTextArea.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTextField.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBar.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarPart.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxToolTip.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTree.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTreeElement.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTreeFile.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxTreeFolder.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxWidget.js2
-rw-r--r--swat/style/qooxdoo/widgets/widgets/QxWindow.js5
1303 files changed, 866 insertions, 2 deletions
diff --git a/swat/images/core/alpha.gif b/swat/images/core/alpha.gif
new file mode 100644
index 0000000000..ab8c332af9
--- /dev/null
+++ b/swat/images/core/alpha.gif
Binary files differ
diff --git a/swat/images/core/blank.gif b/swat/images/core/blank.gif
new file mode 100644
index 0000000000..75b945d255
--- /dev/null
+++ b/swat/images/core/blank.gif
Binary files differ
diff --git a/swat/images/core/brightness.jpg b/swat/images/core/brightness.jpg
new file mode 100644
index 0000000000..008984d1c7
--- /dev/null
+++ b/swat/images/core/brightness.jpg
Binary files differ
diff --git a/swat/images/core/brightnesshandle.gif b/swat/images/core/brightnesshandle.gif
new file mode 100644
index 0000000000..7cf80222af
--- /dev/null
+++ b/swat/images/core/brightnesshandle.gif
Binary files differ
diff --git a/swat/images/core/dotted.gif b/swat/images/core/dotted.gif
new file mode 100644
index 0000000000..467da46f25
--- /dev/null
+++ b/swat/images/core/dotted.gif
Binary files differ
diff --git a/swat/images/core/huesaturation.jpg b/swat/images/core/huesaturation.jpg
new file mode 100644
index 0000000000..36d2d799d9
--- /dev/null
+++ b/swat/images/core/huesaturation.jpg
Binary files differ
diff --git a/swat/images/core/huesaturationhandle.gif b/swat/images/core/huesaturationhandle.gif
new file mode 100644
index 0000000000..2fcaaece17
--- /dev/null
+++ b/swat/images/core/huesaturationhandle.gif
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/antivirus.png b/swat/images/icons/crystalsvg/128/antivirus.png
new file mode 100644
index 0000000000..381fc55d3f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/antivirus.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/back.png b/swat/images/icons/crystalsvg/128/back.png
new file mode 100644
index 0000000000..4e2e380e1f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/back.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/background.png b/swat/images/icons/crystalsvg/128/background.png
new file mode 100644
index 0000000000..dc35d81ebe
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/background.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/bell.png b/swat/images/icons/crystalsvg/128/bell.png
new file mode 100644
index 0000000000..530fbf64a7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/bell.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/blockdevice.png b/swat/images/icons/crystalsvg/128/blockdevice.png
new file mode 100644
index 0000000000..e3068923aa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/blockdevice.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/browser.png b/swat/images/icons/crystalsvg/128/browser.png
new file mode 100644
index 0000000000..63e035fd4d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/browser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/cache.png b/swat/images/icons/crystalsvg/128/cache.png
new file mode 100644
index 0000000000..f9261381de
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/cache.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/clock.png b/swat/images/icons/crystalsvg/128/clock.png
new file mode 100644
index 0000000000..692b0502e3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/clock.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/colors.png b/swat/images/icons/crystalsvg/128/colors.png
new file mode 100644
index 0000000000..932e6fbf0b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/colors.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/core.png b/swat/images/icons/crystalsvg/128/core.png
new file mode 100644
index 0000000000..485903976b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/core.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/date.png b/swat/images/icons/crystalsvg/128/date.png
new file mode 100644
index 0000000000..1e34bb233f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/date.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/desktop.png b/swat/images/icons/crystalsvg/128/desktop.png
new file mode 100644
index 0000000000..02f2f26d8a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/desktop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/display.png b/swat/images/icons/crystalsvg/128/display.png
new file mode 100644
index 0000000000..8573935855
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/display.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/document.png b/swat/images/icons/crystalsvg/128/document.png
new file mode 100644
index 0000000000..970fe33d50
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/document.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/email.png b/swat/images/icons/crystalsvg/128/email.png
new file mode 100644
index 0000000000..a01dfa0cef
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/email.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/empty.png b/swat/images/icons/crystalsvg/128/empty.png
new file mode 100644
index 0000000000..431c18ed49
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/empty.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/encrypted.png b/swat/images/icons/crystalsvg/128/encrypted.png
new file mode 100644
index 0000000000..be9140e2da
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/encrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/energy.png b/swat/images/icons/crystalsvg/128/energy.png
new file mode 100644
index 0000000000..4ad8e61911
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/energy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/error.png b/swat/images/icons/crystalsvg/128/error.png
new file mode 100644
index 0000000000..44de2575e9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/error.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/exec.png b/swat/images/icons/crystalsvg/128/exec.png
new file mode 100644
index 0000000000..f20b42433e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/exec.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/fileprint.png b/swat/images/icons/crystalsvg/128/fileprint.png
new file mode 100644
index 0000000000..2625880cf6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/fileprint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/folder.png b/swat/images/icons/crystalsvg/128/folder.png
new file mode 100644
index 0000000000..e3d2487f6a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/folder.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/folder_home.png b/swat/images/icons/crystalsvg/128/folder_home.png
new file mode 100644
index 0000000000..1523d6e17a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/folder_home.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/folder_important.png b/swat/images/icons/crystalsvg/128/folder_important.png
new file mode 100644
index 0000000000..6470a37b50
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/folder_important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/folder_locked.png b/swat/images/icons/crystalsvg/128/folder_locked.png
new file mode 100644
index 0000000000..ba6645ba8b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/folder_open.png b/swat/images/icons/crystalsvg/128/folder_open.png
new file mode 100644
index 0000000000..62faf24ddf
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/folder_open.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/font.png b/swat/images/icons/crystalsvg/128/font.png
new file mode 100644
index 0000000000..964d5748cb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/font.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/forward.png b/swat/images/icons/crystalsvg/128/forward.png
new file mode 100644
index 0000000000..23035d24a7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/gohome.png b/swat/images/icons/crystalsvg/128/gohome.png
new file mode 100644
index 0000000000..1523d6e17a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/gohome.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/hwinfo.png b/swat/images/icons/crystalsvg/128/hwinfo.png
new file mode 100644
index 0000000000..e2aced9dba
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/info.png b/swat/images/icons/crystalsvg/128/info.png
new file mode 100644
index 0000000000..0685f86af8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/info.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/kcoloredit.png b/swat/images/icons/crystalsvg/128/kcoloredit.png
new file mode 100644
index 0000000000..932e6fbf0b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/kcontrol.png b/swat/images/icons/crystalsvg/128/kcontrol.png
new file mode 100644
index 0000000000..99a89e323c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/keyboard.png b/swat/images/icons/crystalsvg/128/keyboard.png
new file mode 100644
index 0000000000..f6539e9afd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/keyboard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/khelpcenter.png b/swat/images/icons/crystalsvg/128/khelpcenter.png
new file mode 100644
index 0000000000..aff331899e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/konqueror.png b/swat/images/icons/crystalsvg/128/konqueror.png
new file mode 100644
index 0000000000..4527db246d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/konqueror.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/kpaint.png b/swat/images/icons/crystalsvg/128/kpaint.png
new file mode 100644
index 0000000000..2c1bb499c0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/kpaint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/krita.png b/swat/images/icons/crystalsvg/128/krita.png
new file mode 100644
index 0000000000..4607286201
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/krita.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/ksmiletris.png b/swat/images/icons/crystalsvg/128/ksmiletris.png
new file mode 100644
index 0000000000..a7789b7417
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/ksmiletris.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/ksnapshot.png b/swat/images/icons/crystalsvg/128/ksnapshot.png
new file mode 100644
index 0000000000..de8e2a190b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/ktalkd.png b/swat/images/icons/crystalsvg/128/ktalkd.png
new file mode 100644
index 0000000000..8d9c97f7dd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/ktalkd.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/kuser.png b/swat/images/icons/crystalsvg/128/kuser.png
new file mode 100644
index 0000000000..f28f704f75
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/kuser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/kview.png b/swat/images/icons/crystalsvg/128/kview.png
new file mode 100644
index 0000000000..6a1b0fef0a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/kview.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/linuxconf.png b/swat/images/icons/crystalsvg/128/linuxconf.png
new file mode 100644
index 0000000000..969b8da3e2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/linuxconf.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/locale.png b/swat/images/icons/crystalsvg/128/locale.png
new file mode 100644
index 0000000000..25403acc9d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/locale.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/looknfeel.png b/swat/images/icons/crystalsvg/128/looknfeel.png
new file mode 100644
index 0000000000..cd1a36b9af
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mac.png b/swat/images/icons/crystalsvg/128/mac.png
new file mode 100644
index 0000000000..258588b7c7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mail.png b/swat/images/icons/crystalsvg/128/mail.png
new file mode 100644
index 0000000000..a4ba0aeccb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mimetypes.png b/swat/images/icons/crystalsvg/128/mimetypes.png
new file mode 100644
index 0000000000..fb9189d6b9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mimetypes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mouse.png b/swat/images/icons/crystalsvg/128/mouse.png
new file mode 100644
index 0000000000..dc44bacf07
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mouse.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mozilla.png b/swat/images/icons/crystalsvg/128/mozilla.png
new file mode 100644
index 0000000000..eb71eb5def
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mozilla.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mycomputer.png b/swat/images/icons/crystalsvg/128/mycomputer.png
new file mode 100644
index 0000000000..ed7ac28a75
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/mymac.png b/swat/images/icons/crystalsvg/128/mymac.png
new file mode 100644
index 0000000000..d726dd4821
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/mymac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/netscape.png b/swat/images/icons/crystalsvg/128/netscape.png
new file mode 100644
index 0000000000..2e5cf2c0fd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/netscape.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/network.png b/swat/images/icons/crystalsvg/128/network.png
new file mode 100644
index 0000000000..9fb0d1fb2b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/network.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/password.png b/swat/images/icons/crystalsvg/128/password.png
new file mode 100644
index 0000000000..f12dfdae6d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/password.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/penguin.png b/swat/images/icons/crystalsvg/128/penguin.png
new file mode 100644
index 0000000000..ebfc696c71
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/penguin.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/proxy.png b/swat/images/icons/crystalsvg/128/proxy.png
new file mode 100644
index 0000000000..ec18d5a92f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/proxy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/quicktime.png b/swat/images/icons/crystalsvg/128/quicktime.png
new file mode 100644
index 0000000000..9d39ea3284
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/quicktime.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/realplayer.png b/swat/images/icons/crystalsvg/128/realplayer.png
new file mode 100644
index 0000000000..2a738353e3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/realplayer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/reload.png b/swat/images/icons/crystalsvg/128/reload.png
new file mode 100644
index 0000000000..62fc0261f5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/reload.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/services.png b/swat/images/icons/crystalsvg/128/services.png
new file mode 100644
index 0000000000..bef393d4be
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/services.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/socket.png b/swat/images/icons/crystalsvg/128/socket.png
new file mode 100644
index 0000000000..60eed5b0f1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/socket.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/stylesheet.png b/swat/images/icons/crystalsvg/128/stylesheet.png
new file mode 100644
index 0000000000..bc911a9c9b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/tux.png b/swat/images/icons/crystalsvg/128/tux.png
new file mode 100644
index 0000000000..8e4e34b53a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/tux.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/128/up.png b/swat/images/icons/crystalsvg/128/up.png
new file mode 100644
index 0000000000..1c64cd8b1a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/128/up.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/access.png b/swat/images/icons/crystalsvg/16/access.png
new file mode 100644
index 0000000000..d519c57c7a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/access.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/agent.png b/swat/images/icons/crystalsvg/16/agent.png
new file mode 100644
index 0000000000..9826d3457b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/agent.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/antivirus.png b/swat/images/icons/crystalsvg/16/antivirus.png
new file mode 100644
index 0000000000..a5fe838bd0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/antivirus.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/appearance.png b/swat/images/icons/crystalsvg/16/appearance.png
new file mode 100644
index 0000000000..9612cd5233
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/appearance.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/apply.png b/swat/images/icons/crystalsvg/16/apply.png
new file mode 100644
index 0000000000..543710fb7b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/apply.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/back.png b/swat/images/icons/crystalsvg/16/back.png
new file mode 100644
index 0000000000..b6d9bd134b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/back.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/background.png b/swat/images/icons/crystalsvg/16/background.png
new file mode 100644
index 0000000000..f4ef81c608
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/background.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/bell.png b/swat/images/icons/crystalsvg/16/bell.png
new file mode 100644
index 0000000000..7a3fcae59a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/bell.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/blockdevice.png b/swat/images/icons/crystalsvg/16/blockdevice.png
new file mode 100644
index 0000000000..a4acb09cbd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/blockdevice.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/bookmark.png b/swat/images/icons/crystalsvg/16/bookmark.png
new file mode 100644
index 0000000000..5e76158719
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/bookmark.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/browser.png b/swat/images/icons/crystalsvg/16/browser.png
new file mode 100644
index 0000000000..49202d1980
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/browser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/button_cancel.png b/swat/images/icons/crystalsvg/16/button_cancel.png
new file mode 100644
index 0000000000..2415dfc78b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/button_ok.png b/swat/images/icons/crystalsvg/16/button_ok.png
new file mode 100644
index 0000000000..543710fb7b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/button_ok.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/cache.png b/swat/images/icons/crystalsvg/16/cache.png
new file mode 100644
index 0000000000..9d3f243aba
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/cache.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/clock.png b/swat/images/icons/crystalsvg/16/clock.png
new file mode 100644
index 0000000000..dca2c7ef85
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/clock.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/colorize.png b/swat/images/icons/crystalsvg/16/colorize.png
new file mode 100644
index 0000000000..9612cd5233
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/colorize.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/colors.png b/swat/images/icons/crystalsvg/16/colors.png
new file mode 100644
index 0000000000..c0a67bb903
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/colors.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/colorset.png b/swat/images/icons/crystalsvg/16/colorset.png
new file mode 100644
index 0000000000..1c2b54f546
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/colorset.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/configure.png b/swat/images/icons/crystalsvg/16/configure.png
new file mode 100644
index 0000000000..95bd319ce1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/configure.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/contents.png b/swat/images/icons/crystalsvg/16/contents.png
new file mode 100644
index 0000000000..e2a44ecae8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/contents.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/cookie.png b/swat/images/icons/crystalsvg/16/cookie.png
new file mode 100644
index 0000000000..5ebe2e3564
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/cookie.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/core.png b/swat/images/icons/crystalsvg/16/core.png
new file mode 100644
index 0000000000..7bc1bcdb51
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/core.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/date.png b/swat/images/icons/crystalsvg/16/date.png
new file mode 100644
index 0000000000..fbf29f5219
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/date.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/decrypted.png b/swat/images/icons/crystalsvg/16/decrypted.png
new file mode 100644
index 0000000000..3a1a0d34ef
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/decrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/desktop.png b/swat/images/icons/crystalsvg/16/desktop.png
new file mode 100644
index 0000000000..883d92df16
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/desktop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/display.png b/swat/images/icons/crystalsvg/16/display.png
new file mode 100644
index 0000000000..2e228bd7a4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/display.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/doc.png b/swat/images/icons/crystalsvg/16/doc.png
new file mode 100644
index 0000000000..870f1abaa5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/doc.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/document.png b/swat/images/icons/crystalsvg/16/document.png
new file mode 100644
index 0000000000..1930fb233f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/document.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/down.png b/swat/images/icons/crystalsvg/16/down.png
new file mode 100644
index 0000000000..4249bde45b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/down.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/edit.png b/swat/images/icons/crystalsvg/16/edit.png
new file mode 100644
index 0000000000..a8b69f73fe
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/edit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/editcopy.png b/swat/images/icons/crystalsvg/16/editcopy.png
new file mode 100644
index 0000000000..c3ff243b85
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/editcopy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/editcut.png b/swat/images/icons/crystalsvg/16/editcut.png
new file mode 100644
index 0000000000..2232854368
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/editcut.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/editdelete.png b/swat/images/icons/crystalsvg/16/editdelete.png
new file mode 100644
index 0000000000..6d0d29d760
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/editdelete.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/editpaste.png b/swat/images/icons/crystalsvg/16/editpaste.png
new file mode 100644
index 0000000000..636a4c5a0b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/editpaste.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/edittrash.png b/swat/images/icons/crystalsvg/16/edittrash.png
new file mode 100644
index 0000000000..bfceb88d60
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/edittrash.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/email.png b/swat/images/icons/crystalsvg/16/email.png
new file mode 100644
index 0000000000..387ed18e68
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/email.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/empty.png b/swat/images/icons/crystalsvg/16/empty.png
new file mode 100644
index 0000000000..f68776b977
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/empty.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/empty_ascii.png b/swat/images/icons/crystalsvg/16/empty_ascii.png
new file mode 100644
index 0000000000..4039a2e628
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/empty_ascii.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/encrypted.png b/swat/images/icons/crystalsvg/16/encrypted.png
new file mode 100644
index 0000000000..f498798e93
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/encrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/energy.png b/swat/images/icons/crystalsvg/16/energy.png
new file mode 100644
index 0000000000..df22fd8d97
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/energy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/error.png b/swat/images/icons/crystalsvg/16/error.png
new file mode 100644
index 0000000000..9152973b92
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/error.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/exec.png b/swat/images/icons/crystalsvg/16/exec.png
new file mode 100644
index 0000000000..bc00f51a16
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/exec.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/favorites.png b/swat/images/icons/crystalsvg/16/favorites.png
new file mode 100644
index 0000000000..6a3fc5efe7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/favorites.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/filefind.png b/swat/images/icons/crystalsvg/16/filefind.png
new file mode 100644
index 0000000000..3978d1e7be
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/filefind.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/filenew.png b/swat/images/icons/crystalsvg/16/filenew.png
new file mode 100644
index 0000000000..83f375218c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/filenew.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/fileopen.png b/swat/images/icons/crystalsvg/16/fileopen.png
new file mode 100644
index 0000000000..037c2da98d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/fileopen.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/fileprint.png b/swat/images/icons/crystalsvg/16/fileprint.png
new file mode 100644
index 0000000000..471448fcae
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/fileprint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/filesave.png b/swat/images/icons/crystalsvg/16/filesave.png
new file mode 100644
index 0000000000..41b3f43679
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/filesave.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/filesaveas.png b/swat/images/icons/crystalsvg/16/filesaveas.png
new file mode 100644
index 0000000000..3e28d5d359
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/find.png b/swat/images/icons/crystalsvg/16/find.png
new file mode 100644
index 0000000000..416d064595
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/find.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/folder.png b/swat/images/icons/crystalsvg/16/folder.png
new file mode 100644
index 0000000000..02325a0012
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/folder.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/folder_home.png b/swat/images/icons/crystalsvg/16/folder_home.png
new file mode 100644
index 0000000000..3d26af5529
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/folder_home.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/folder_important.png b/swat/images/icons/crystalsvg/16/folder_important.png
new file mode 100644
index 0000000000..d89fd1d2f0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/folder_important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/folder_locked.png b/swat/images/icons/crystalsvg/16/folder_locked.png
new file mode 100644
index 0000000000..a679e79766
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/folder_open.png b/swat/images/icons/crystalsvg/16/folder_open.png
new file mode 100644
index 0000000000..4b545f3e34
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/folder_open.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/font.png b/swat/images/icons/crystalsvg/16/font.png
new file mode 100644
index 0000000000..2e788c25d9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/font.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/forward.png b/swat/images/icons/crystalsvg/16/forward.png
new file mode 100644
index 0000000000..4a2a215c86
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/gohome.png b/swat/images/icons/crystalsvg/16/gohome.png
new file mode 100644
index 0000000000..3d26af5529
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/gohome.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/help.png b/swat/images/icons/crystalsvg/16/help.png
new file mode 100644
index 0000000000..b580f51ed4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/help.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/history.png b/swat/images/icons/crystalsvg/16/history.png
new file mode 100644
index 0000000000..1de43d56b0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/history.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/hwinfo.png b/swat/images/icons/crystalsvg/16/hwinfo.png
new file mode 100644
index 0000000000..b8e4f32006
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/icons.png b/swat/images/icons/crystalsvg/16/icons.png
new file mode 100644
index 0000000000..10d2a2d636
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/icons.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/iconthemes.png b/swat/images/icons/crystalsvg/16/iconthemes.png
new file mode 100644
index 0000000000..4a90815645
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/idea.png b/swat/images/icons/crystalsvg/16/idea.png
new file mode 100644
index 0000000000..8d72794dd0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/idea.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/important.png b/swat/images/icons/crystalsvg/16/important.png
new file mode 100644
index 0000000000..64d07f3912
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/info.png b/swat/images/icons/crystalsvg/16/info.png
new file mode 100644
index 0000000000..1903fabccd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/info.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kcoloredit.png b/swat/images/icons/crystalsvg/16/kcoloredit.png
new file mode 100644
index 0000000000..c0a67bb903
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kcontrol.png b/swat/images/icons/crystalsvg/16/kcontrol.png
new file mode 100644
index 0000000000..64bf8b71db
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/key_enter.png b/swat/images/icons/crystalsvg/16/key_enter.png
new file mode 100644
index 0000000000..cc4ead9bf4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/key_enter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/keyboard.png b/swat/images/icons/crystalsvg/16/keyboard.png
new file mode 100644
index 0000000000..198d20221c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/keyboard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/khelpcenter.png b/swat/images/icons/crystalsvg/16/khelpcenter.png
new file mode 100644
index 0000000000..d155536c56
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kmix.png b/swat/images/icons/crystalsvg/16/kmix.png
new file mode 100644
index 0000000000..dbf51d2039
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kmix.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/knotify.png b/swat/images/icons/crystalsvg/16/knotify.png
new file mode 100644
index 0000000000..a893d62293
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/knotify.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/konqueror.png b/swat/images/icons/crystalsvg/16/konqueror.png
new file mode 100644
index 0000000000..69344cd831
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/konqueror.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kpackage.png b/swat/images/icons/crystalsvg/16/kpackage.png
new file mode 100644
index 0000000000..a69df614f9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kpackage.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kpaint.png b/swat/images/icons/crystalsvg/16/kpaint.png
new file mode 100644
index 0000000000..92039e4f17
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kpaint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kpersonalizer.png b/swat/images/icons/crystalsvg/16/kpersonalizer.png
new file mode 100644
index 0000000000..86186d7959
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kpersonalizer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/krita.png b/swat/images/icons/crystalsvg/16/krita.png
new file mode 100644
index 0000000000..6563434c34
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/krita.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/ksmiletris.png b/swat/images/icons/crystalsvg/16/ksmiletris.png
new file mode 100644
index 0000000000..c088395823
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/ksmiletris.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/ksnapshot.png b/swat/images/icons/crystalsvg/16/ksnapshot.png
new file mode 100644
index 0000000000..79743e8298
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/ktalkd.png b/swat/images/icons/crystalsvg/16/ktalkd.png
new file mode 100644
index 0000000000..fd36501c33
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/ktalkd.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/ktip.png b/swat/images/icons/crystalsvg/16/ktip.png
new file mode 100644
index 0000000000..2b206f2a40
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/ktip.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kuser.png b/swat/images/icons/crystalsvg/16/kuser.png
new file mode 100644
index 0000000000..8f69e2b998
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kuser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/kview.png b/swat/images/icons/crystalsvg/16/kview.png
new file mode 100644
index 0000000000..b5f17a31f7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/kview.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/launch.png b/swat/images/icons/crystalsvg/16/launch.png
new file mode 100644
index 0000000000..838c38bf13
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/launch.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/linuxconf.png b/swat/images/icons/crystalsvg/16/linuxconf.png
new file mode 100644
index 0000000000..9a420444c4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/linuxconf.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/locale.png b/swat/images/icons/crystalsvg/16/locale.png
new file mode 100644
index 0000000000..0dfece4d3f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/locale.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/looknfeel.png b/swat/images/icons/crystalsvg/16/looknfeel.png
new file mode 100644
index 0000000000..fb4181004d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mac.png b/swat/images/icons/crystalsvg/16/mac.png
new file mode 100644
index 0000000000..23e7e7221b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail.png b/swat/images/icons/crystalsvg/16/mail.png
new file mode 100644
index 0000000000..b3c2974499
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_delete.png b/swat/images/icons/crystalsvg/16/mail_delete.png
new file mode 100644
index 0000000000..65c7422aaa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_find.png b/swat/images/icons/crystalsvg/16/mail_find.png
new file mode 100644
index 0000000000..81417be487
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_find.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_forward.png b/swat/images/icons/crystalsvg/16/mail_forward.png
new file mode 100644
index 0000000000..150b624019
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_generic.png b/swat/images/icons/crystalsvg/16/mail_generic.png
new file mode 100644
index 0000000000..cf7160ab42
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_new.png b/swat/images/icons/crystalsvg/16/mail_new.png
new file mode 100644
index 0000000000..c388644721
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_new.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_replay.png b/swat/images/icons/crystalsvg/16/mail_replay.png
new file mode 100644
index 0000000000..af0b3b3e19
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_replay.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_replyall.png b/swat/images/icons/crystalsvg/16/mail_replyall.png
new file mode 100644
index 0000000000..8a3ae557ad
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_replyall.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mail_send.png b/swat/images/icons/crystalsvg/16/mail_send.png
new file mode 100644
index 0000000000..d96b1ec06f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mail_send.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mimetypes.png b/swat/images/icons/crystalsvg/16/mimetypes.png
new file mode 100644
index 0000000000..623417d052
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mimetypes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/misc.png b/swat/images/icons/crystalsvg/16/misc.png
new file mode 100644
index 0000000000..215fc6aa92
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/misc.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mouse.png b/swat/images/icons/crystalsvg/16/mouse.png
new file mode 100644
index 0000000000..3c0d31df22
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mouse.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mousecursor.png b/swat/images/icons/crystalsvg/16/mousecursor.png
new file mode 100644
index 0000000000..c0aa32285f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mousecursor.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mozilla.png b/swat/images/icons/crystalsvg/16/mozilla.png
new file mode 100644
index 0000000000..b3ae537e84
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mozilla.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mycomputer.png b/swat/images/icons/crystalsvg/16/mycomputer.png
new file mode 100644
index 0000000000..c399a2f00f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/mymac.png b/swat/images/icons/crystalsvg/16/mymac.png
new file mode 100644
index 0000000000..35d365829f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/mymac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/netscape.png b/swat/images/icons/crystalsvg/16/netscape.png
new file mode 100644
index 0000000000..e36f58e695
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/netscape.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/network.png b/swat/images/icons/crystalsvg/16/network.png
new file mode 100644
index 0000000000..ebfc6c3247
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/network.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/no.png b/swat/images/icons/crystalsvg/16/no.png
new file mode 100644
index 0000000000..1cabc6e95d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/no.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/ok.png b/swat/images/icons/crystalsvg/16/ok.png
new file mode 100644
index 0000000000..543710fb7b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/ok.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/opera.png b/swat/images/icons/crystalsvg/16/opera.png
new file mode 100644
index 0000000000..4694c2bcad
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/opera.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/package.png b/swat/images/icons/crystalsvg/16/package.png
new file mode 100644
index 0000000000..03483d7bbd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/package.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/password.png b/swat/images/icons/crystalsvg/16/password.png
new file mode 100644
index 0000000000..ca93f0d149
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/password.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/penguin.png b/swat/images/icons/crystalsvg/16/penguin.png
new file mode 100644
index 0000000000..a0a9743f53
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/penguin.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/pipe.png b/swat/images/icons/crystalsvg/16/pipe.png
new file mode 100644
index 0000000000..5f4d840c39
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/pipe.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/printer.png b/swat/images/icons/crystalsvg/16/printer.png
new file mode 100644
index 0000000000..2fa62c335c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/printer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/proxy.png b/swat/images/icons/crystalsvg/16/proxy.png
new file mode 100644
index 0000000000..69f8bb745b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/proxy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/quicktime.png b/swat/images/icons/crystalsvg/16/quicktime.png
new file mode 100644
index 0000000000..de7b762d86
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/quicktime.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/realplayer.png b/swat/images/icons/crystalsvg/16/realplayer.png
new file mode 100644
index 0000000000..afa6392fe5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/realplayer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/redo.png b/swat/images/icons/crystalsvg/16/redo.png
new file mode 100644
index 0000000000..5d6121b821
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/redo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/reload.png b/swat/images/icons/crystalsvg/16/reload.png
new file mode 100644
index 0000000000..eb0388df4c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/reload.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/run.png b/swat/images/icons/crystalsvg/16/run.png
new file mode 100644
index 0000000000..215fc6aa92
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/run.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/search.png b/swat/images/icons/crystalsvg/16/search.png
new file mode 100644
index 0000000000..593a56634b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/search.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/services.png b/swat/images/icons/crystalsvg/16/services.png
new file mode 100644
index 0000000000..af009d9fa1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/services.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/socket.png b/swat/images/icons/crystalsvg/16/socket.png
new file mode 100644
index 0000000000..7cfee72c6c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/socket.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/spellcheck.png b/swat/images/icons/crystalsvg/16/spellcheck.png
new file mode 100644
index 0000000000..dbb8aa6b85
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/spellcheck.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/stop.png b/swat/images/icons/crystalsvg/16/stop.png
new file mode 100644
index 0000000000..45c03d5d4d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/stop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/style.png b/swat/images/icons/crystalsvg/16/style.png
new file mode 100644
index 0000000000..b727f8f609
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/style.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/stylesheet.png b/swat/images/icons/crystalsvg/16/stylesheet.png
new file mode 100644
index 0000000000..63bbee69cf
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/tar.png b/swat/images/icons/crystalsvg/16/tar.png
new file mode 100644
index 0000000000..f6416924b2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/tar.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/thumbnail.png b/swat/images/icons/crystalsvg/16/thumbnail.png
new file mode 100644
index 0000000000..a8c7195769
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/thumbnail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/todo.png b/swat/images/icons/crystalsvg/16/todo.png
new file mode 100644
index 0000000000..b82a790f62
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/todo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/tux.png b/swat/images/icons/crystalsvg/16/tux.png
new file mode 100644
index 0000000000..7b62ccecf0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/tux.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/up.png b/swat/images/icons/crystalsvg/16/up.png
new file mode 100644
index 0000000000..0777b0b356
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/up.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/16/wizard.png b/swat/images/icons/crystalsvg/16/wizard.png
new file mode 100644
index 0000000000..3107990dde
--- /dev/null
+++ b/swat/images/icons/crystalsvg/16/wizard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/antivirus.png b/swat/images/icons/crystalsvg/22/antivirus.png
new file mode 100644
index 0000000000..4ac0c809d9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/antivirus.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/appearance.png b/swat/images/icons/crystalsvg/22/appearance.png
new file mode 100644
index 0000000000..985147ddf1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/appearance.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/back.png b/swat/images/icons/crystalsvg/22/back.png
new file mode 100644
index 0000000000..4148ab8811
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/back.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/background.png b/swat/images/icons/crystalsvg/22/background.png
new file mode 100644
index 0000000000..5ab7323ce9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/background.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/bell.png b/swat/images/icons/crystalsvg/22/bell.png
new file mode 100644
index 0000000000..3482bacce2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/bell.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/blockdevice.png b/swat/images/icons/crystalsvg/22/blockdevice.png
new file mode 100644
index 0000000000..c1330e8fc3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/blockdevice.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/bookmark.png b/swat/images/icons/crystalsvg/22/bookmark.png
new file mode 100644
index 0000000000..ced954c97f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/bookmark.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/browser.png b/swat/images/icons/crystalsvg/22/browser.png
new file mode 100644
index 0000000000..80a173d72c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/browser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/button_cancel.png b/swat/images/icons/crystalsvg/22/button_cancel.png
new file mode 100644
index 0000000000..96919575af
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/button_ok.png b/swat/images/icons/crystalsvg/22/button_ok.png
new file mode 100644
index 0000000000..31c064ba92
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/button_ok.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/cache.png b/swat/images/icons/crystalsvg/22/cache.png
new file mode 100644
index 0000000000..a9d0dd2813
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/cache.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/clock.png b/swat/images/icons/crystalsvg/22/clock.png
new file mode 100644
index 0000000000..d1099336ea
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/clock.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/colorize.png b/swat/images/icons/crystalsvg/22/colorize.png
new file mode 100644
index 0000000000..985147ddf1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/colorize.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/colors.png b/swat/images/icons/crystalsvg/22/colors.png
new file mode 100644
index 0000000000..a2fb946e86
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/colors.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/configure.png b/swat/images/icons/crystalsvg/22/configure.png
new file mode 100644
index 0000000000..96ba4338f4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/configure.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/contents.png b/swat/images/icons/crystalsvg/22/contents.png
new file mode 100644
index 0000000000..7596e67a64
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/contents.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/core.png b/swat/images/icons/crystalsvg/22/core.png
new file mode 100644
index 0000000000..b12540b6aa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/core.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/date.png b/swat/images/icons/crystalsvg/22/date.png
new file mode 100644
index 0000000000..0e9f6815a7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/date.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/decrypted.png b/swat/images/icons/crystalsvg/22/decrypted.png
new file mode 100644
index 0000000000..2228639459
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/decrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/desktop.png b/swat/images/icons/crystalsvg/22/desktop.png
new file mode 100644
index 0000000000..7a90fa1fa4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/desktop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/display.png b/swat/images/icons/crystalsvg/22/display.png
new file mode 100644
index 0000000000..4c8a28820d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/display.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/document.png b/swat/images/icons/crystalsvg/22/document.png
new file mode 100644
index 0000000000..8901c3aa35
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/document.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/down.png b/swat/images/icons/crystalsvg/22/down.png
new file mode 100644
index 0000000000..aeaa0c834b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/down.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/edit.png b/swat/images/icons/crystalsvg/22/edit.png
new file mode 100644
index 0000000000..ce8b226710
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/edit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/editcopy.png b/swat/images/icons/crystalsvg/22/editcopy.png
new file mode 100644
index 0000000000..eac4d8c93b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/editcopy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/editcut.png b/swat/images/icons/crystalsvg/22/editcut.png
new file mode 100644
index 0000000000..192b5757a7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/editcut.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/editdelete.png b/swat/images/icons/crystalsvg/22/editdelete.png
new file mode 100644
index 0000000000..6fb193f061
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/editdelete.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/editpaste.png b/swat/images/icons/crystalsvg/22/editpaste.png
new file mode 100644
index 0000000000..b8454f91da
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/editpaste.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/edittrash.png b/swat/images/icons/crystalsvg/22/edittrash.png
new file mode 100644
index 0000000000..eea039dd5d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/edittrash.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/email.png b/swat/images/icons/crystalsvg/22/email.png
new file mode 100644
index 0000000000..a21f68f259
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/email.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/empty.png b/swat/images/icons/crystalsvg/22/empty.png
new file mode 100644
index 0000000000..1b149459e3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/empty.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/encrypted.png b/swat/images/icons/crystalsvg/22/encrypted.png
new file mode 100644
index 0000000000..351df8709d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/encrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/energy.png b/swat/images/icons/crystalsvg/22/energy.png
new file mode 100644
index 0000000000..f70a153fa6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/energy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/error.png b/swat/images/icons/crystalsvg/22/error.png
new file mode 100644
index 0000000000..ddce82a94b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/error.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/exec.png b/swat/images/icons/crystalsvg/22/exec.png
new file mode 100644
index 0000000000..8e3b5a9043
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/exec.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/filefind.png b/swat/images/icons/crystalsvg/22/filefind.png
new file mode 100644
index 0000000000..40762a0250
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/filefind.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/filenew.png b/swat/images/icons/crystalsvg/22/filenew.png
new file mode 100644
index 0000000000..7be37e89a7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/filenew.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/fileopen.png b/swat/images/icons/crystalsvg/22/fileopen.png
new file mode 100644
index 0000000000..a79982ea1f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/fileopen.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/fileprint.png b/swat/images/icons/crystalsvg/22/fileprint.png
new file mode 100644
index 0000000000..ca4b80e19b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/fileprint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/filesave.png b/swat/images/icons/crystalsvg/22/filesave.png
new file mode 100644
index 0000000000..f85b99afe1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/filesave.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/filesaveas.png b/swat/images/icons/crystalsvg/22/filesaveas.png
new file mode 100644
index 0000000000..517fc2eac2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/find.png b/swat/images/icons/crystalsvg/22/find.png
new file mode 100644
index 0000000000..da3da6d625
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/find.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/folder.png b/swat/images/icons/crystalsvg/22/folder.png
new file mode 100644
index 0000000000..33cc0bb90e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/folder.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/folder_home.png b/swat/images/icons/crystalsvg/22/folder_home.png
new file mode 100644
index 0000000000..3afa803379
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/folder_home.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/folder_important.png b/swat/images/icons/crystalsvg/22/folder_important.png
new file mode 100644
index 0000000000..a24e1a00b0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/folder_important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/folder_locked.png b/swat/images/icons/crystalsvg/22/folder_locked.png
new file mode 100644
index 0000000000..9dc2e48a86
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/folder_open.png b/swat/images/icons/crystalsvg/22/folder_open.png
new file mode 100644
index 0000000000..b0534c4882
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/folder_open.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/font.png b/swat/images/icons/crystalsvg/22/font.png
new file mode 100644
index 0000000000..1ac93bcdcf
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/font.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/forward.png b/swat/images/icons/crystalsvg/22/forward.png
new file mode 100644
index 0000000000..aa3ce7f578
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/gohome.png b/swat/images/icons/crystalsvg/22/gohome.png
new file mode 100644
index 0000000000..14ee4846f3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/gohome.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/help.png b/swat/images/icons/crystalsvg/22/help.png
new file mode 100644
index 0000000000..9fe7652669
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/help.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/history.png b/swat/images/icons/crystalsvg/22/history.png
new file mode 100644
index 0000000000..ea64540042
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/history.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/hwinfo.png b/swat/images/icons/crystalsvg/22/hwinfo.png
new file mode 100644
index 0000000000..8d0c3cf670
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/idea.png b/swat/images/icons/crystalsvg/22/idea.png
new file mode 100644
index 0000000000..d9e7d12e3b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/idea.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/info.png b/swat/images/icons/crystalsvg/22/info.png
new file mode 100644
index 0000000000..3626ba7ee6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/info.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/kcoloredit.png b/swat/images/icons/crystalsvg/22/kcoloredit.png
new file mode 100644
index 0000000000..a2fb946e86
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/kcontrol.png b/swat/images/icons/crystalsvg/22/kcontrol.png
new file mode 100644
index 0000000000..28a7199dea
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/keyboard.png b/swat/images/icons/crystalsvg/22/keyboard.png
new file mode 100644
index 0000000000..637ed8609f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/keyboard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/khelpcenter.png b/swat/images/icons/crystalsvg/22/khelpcenter.png
new file mode 100644
index 0000000000..44588c9178
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/konqueror.png b/swat/images/icons/crystalsvg/22/konqueror.png
new file mode 100644
index 0000000000..4f65bf543e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/konqueror.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/kpaint.png b/swat/images/icons/crystalsvg/22/kpaint.png
new file mode 100644
index 0000000000..faa687b165
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/kpaint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/krita.png b/swat/images/icons/crystalsvg/22/krita.png
new file mode 100644
index 0000000000..253cc09d4d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/krita.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/ksmiletris.png b/swat/images/icons/crystalsvg/22/ksmiletris.png
new file mode 100644
index 0000000000..e4b46fea7f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/ksmiletris.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/ksnapshot.png b/swat/images/icons/crystalsvg/22/ksnapshot.png
new file mode 100644
index 0000000000..9a8db0bf98
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/ktalkd.png b/swat/images/icons/crystalsvg/22/ktalkd.png
new file mode 100644
index 0000000000..d631036e1a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/ktalkd.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/kuser.png b/swat/images/icons/crystalsvg/22/kuser.png
new file mode 100644
index 0000000000..ee321d4ef8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/kuser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/kview.png b/swat/images/icons/crystalsvg/22/kview.png
new file mode 100644
index 0000000000..d868a8dadc
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/kview.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/launch.png b/swat/images/icons/crystalsvg/22/launch.png
new file mode 100644
index 0000000000..da97aef509
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/launch.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/linuxconf.png b/swat/images/icons/crystalsvg/22/linuxconf.png
new file mode 100644
index 0000000000..a7fd2911c8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/linuxconf.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/locale.png b/swat/images/icons/crystalsvg/22/locale.png
new file mode 100644
index 0000000000..553e683278
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/locale.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/looknfeel.png b/swat/images/icons/crystalsvg/22/looknfeel.png
new file mode 100644
index 0000000000..0792b3a872
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mac.png b/swat/images/icons/crystalsvg/22/mac.png
new file mode 100644
index 0000000000..1e8db45990
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail.png b/swat/images/icons/crystalsvg/22/mail.png
new file mode 100644
index 0000000000..304b8fc7f7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_delete.png b/swat/images/icons/crystalsvg/22/mail_delete.png
new file mode 100644
index 0000000000..7b1430ae61
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_find.png b/swat/images/icons/crystalsvg/22/mail_find.png
new file mode 100644
index 0000000000..202275ab61
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_find.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_forward.png b/swat/images/icons/crystalsvg/22/mail_forward.png
new file mode 100644
index 0000000000..919b41ea82
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_generic.png b/swat/images/icons/crystalsvg/22/mail_generic.png
new file mode 100644
index 0000000000..732b5b60b6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_new.png b/swat/images/icons/crystalsvg/22/mail_new.png
new file mode 100644
index 0000000000..384cbf34e9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_new.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_replay.png b/swat/images/icons/crystalsvg/22/mail_replay.png
new file mode 100644
index 0000000000..27c401ad6c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_replay.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_replyall.png b/swat/images/icons/crystalsvg/22/mail_replyall.png
new file mode 100644
index 0000000000..742a40b76e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_replyall.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mail_send.png b/swat/images/icons/crystalsvg/22/mail_send.png
new file mode 100644
index 0000000000..a802f04aee
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mail_send.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/misc.png b/swat/images/icons/crystalsvg/22/misc.png
new file mode 100644
index 0000000000..b5c894955b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/misc.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mouse.png b/swat/images/icons/crystalsvg/22/mouse.png
new file mode 100644
index 0000000000..db3ddfaf91
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mouse.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mozilla.png b/swat/images/icons/crystalsvg/22/mozilla.png
new file mode 100644
index 0000000000..bd1b4d5313
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mozilla.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mycomputer.png b/swat/images/icons/crystalsvg/22/mycomputer.png
new file mode 100644
index 0000000000..c707081eba
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/mymac.png b/swat/images/icons/crystalsvg/22/mymac.png
new file mode 100644
index 0000000000..f574f7b0cd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/mymac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/netscape.png b/swat/images/icons/crystalsvg/22/netscape.png
new file mode 100644
index 0000000000..25cb9da55b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/netscape.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/network.png b/swat/images/icons/crystalsvg/22/network.png
new file mode 100644
index 0000000000..071eed6fce
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/network.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/next.png b/swat/images/icons/crystalsvg/22/next.png
new file mode 100644
index 0000000000..5698be5ea4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/next.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/password.png b/swat/images/icons/crystalsvg/22/password.png
new file mode 100644
index 0000000000..2c84ee4f7d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/password.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/penguin.png b/swat/images/icons/crystalsvg/22/penguin.png
new file mode 100644
index 0000000000..83819e5202
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/penguin.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/previous.png b/swat/images/icons/crystalsvg/22/previous.png
new file mode 100644
index 0000000000..fe11a3024d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/previous.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/proxy.png b/swat/images/icons/crystalsvg/22/proxy.png
new file mode 100644
index 0000000000..e28c1b2039
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/proxy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/quicktime.png b/swat/images/icons/crystalsvg/22/quicktime.png
new file mode 100644
index 0000000000..bda512030a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/quicktime.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/realplayer.png b/swat/images/icons/crystalsvg/22/realplayer.png
new file mode 100644
index 0000000000..23cf04bca5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/realplayer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/redo.png b/swat/images/icons/crystalsvg/22/redo.png
new file mode 100644
index 0000000000..8a4c817d01
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/redo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/reload.png b/swat/images/icons/crystalsvg/22/reload.png
new file mode 100644
index 0000000000..9b80d879c7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/reload.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/run.png b/swat/images/icons/crystalsvg/22/run.png
new file mode 100644
index 0000000000..b5c894955b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/run.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/search.png b/swat/images/icons/crystalsvg/22/search.png
new file mode 100644
index 0000000000..4f880ab65f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/search.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/services.png b/swat/images/icons/crystalsvg/22/services.png
new file mode 100644
index 0000000000..8d3eb53735
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/services.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/socket.png b/swat/images/icons/crystalsvg/22/socket.png
new file mode 100644
index 0000000000..9261437f11
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/socket.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/spellcheck.png b/swat/images/icons/crystalsvg/22/spellcheck.png
new file mode 100644
index 0000000000..444dce6368
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/spellcheck.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/stop.png b/swat/images/icons/crystalsvg/22/stop.png
new file mode 100644
index 0000000000..830e2e62b5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/stop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/stylesheet.png b/swat/images/icons/crystalsvg/22/stylesheet.png
new file mode 100644
index 0000000000..c3544ad4e4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/thumbnail.png b/swat/images/icons/crystalsvg/22/thumbnail.png
new file mode 100644
index 0000000000..fdb7c4e35e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/thumbnail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/todo.png b/swat/images/icons/crystalsvg/22/todo.png
new file mode 100644
index 0000000000..6002fb5c8d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/todo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/tux.png b/swat/images/icons/crystalsvg/22/tux.png
new file mode 100644
index 0000000000..32c851493f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/tux.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/up.png b/swat/images/icons/crystalsvg/22/up.png
new file mode 100644
index 0000000000..dfd2fd086e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/up.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/22/wizard.png b/swat/images/icons/crystalsvg/22/wizard.png
new file mode 100644
index 0000000000..21d5e2f828
--- /dev/null
+++ b/swat/images/icons/crystalsvg/22/wizard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/access.png b/swat/images/icons/crystalsvg/32/access.png
new file mode 100644
index 0000000000..58429cabfb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/access.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/agent.png b/swat/images/icons/crystalsvg/32/agent.png
new file mode 100644
index 0000000000..d10a80c618
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/agent.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/antivirus.png b/swat/images/icons/crystalsvg/32/antivirus.png
new file mode 100644
index 0000000000..eaca74ae86
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/antivirus.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/appearance.png b/swat/images/icons/crystalsvg/32/appearance.png
new file mode 100644
index 0000000000..3b39c56162
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/appearance.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/back.png b/swat/images/icons/crystalsvg/32/back.png
new file mode 100644
index 0000000000..895755ea21
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/back.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/background.png b/swat/images/icons/crystalsvg/32/background.png
new file mode 100644
index 0000000000..45d81edefb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/background.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/bell.png b/swat/images/icons/crystalsvg/32/bell.png
new file mode 100644
index 0000000000..6f8293fae7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/bell.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/blockdevice.png b/swat/images/icons/crystalsvg/32/blockdevice.png
new file mode 100644
index 0000000000..6553907ba2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/blockdevice.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/bookmark.png b/swat/images/icons/crystalsvg/32/bookmark.png
new file mode 100644
index 0000000000..028869cbe3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/bookmark.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/browser.png b/swat/images/icons/crystalsvg/32/browser.png
new file mode 100644
index 0000000000..cb3df0b92f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/browser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/button_cancel.png b/swat/images/icons/crystalsvg/32/button_cancel.png
new file mode 100644
index 0000000000..c6464d90a6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/button_ok.png b/swat/images/icons/crystalsvg/32/button_ok.png
new file mode 100644
index 0000000000..230de53029
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/button_ok.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/cache.png b/swat/images/icons/crystalsvg/32/cache.png
new file mode 100644
index 0000000000..7700fd9ad7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/cache.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/clock.png b/swat/images/icons/crystalsvg/32/clock.png
new file mode 100644
index 0000000000..0f93b36ccb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/clock.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/colorize.png b/swat/images/icons/crystalsvg/32/colorize.png
new file mode 100644
index 0000000000..3b39c56162
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/colorize.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/colors.png b/swat/images/icons/crystalsvg/32/colors.png
new file mode 100644
index 0000000000..e5aa87cbdc
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/colors.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/configure.png b/swat/images/icons/crystalsvg/32/configure.png
new file mode 100644
index 0000000000..11415643fb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/configure.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/contents.png b/swat/images/icons/crystalsvg/32/contents.png
new file mode 100644
index 0000000000..2e86079c02
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/contents.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/cookie.png b/swat/images/icons/crystalsvg/32/cookie.png
new file mode 100644
index 0000000000..c062d072bc
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/cookie.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/core.png b/swat/images/icons/crystalsvg/32/core.png
new file mode 100644
index 0000000000..c3e6fd2111
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/core.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/date.png b/swat/images/icons/crystalsvg/32/date.png
new file mode 100644
index 0000000000..54b320347d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/date.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/decrypted.png b/swat/images/icons/crystalsvg/32/decrypted.png
new file mode 100644
index 0000000000..0becd65abd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/decrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/desktop.png b/swat/images/icons/crystalsvg/32/desktop.png
new file mode 100644
index 0000000000..85b495e999
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/desktop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/display.png b/swat/images/icons/crystalsvg/32/display.png
new file mode 100644
index 0000000000..1d9b132443
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/display.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/document.png b/swat/images/icons/crystalsvg/32/document.png
new file mode 100644
index 0000000000..1ddec27941
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/document.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/down.png b/swat/images/icons/crystalsvg/32/down.png
new file mode 100644
index 0000000000..bbf31ec561
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/down.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/edit.png b/swat/images/icons/crystalsvg/32/edit.png
new file mode 100644
index 0000000000..1d69145151
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/edit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/editcopy.png b/swat/images/icons/crystalsvg/32/editcopy.png
new file mode 100644
index 0000000000..cfa9cb4317
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/editcopy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/editcut.png b/swat/images/icons/crystalsvg/32/editcut.png
new file mode 100644
index 0000000000..79d2dcae39
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/editcut.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/editdelete.png b/swat/images/icons/crystalsvg/32/editdelete.png
new file mode 100644
index 0000000000..945d221eea
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/editdelete.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/editpaste.png b/swat/images/icons/crystalsvg/32/editpaste.png
new file mode 100644
index 0000000000..a192060bdd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/editpaste.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/edittrash.png b/swat/images/icons/crystalsvg/32/edittrash.png
new file mode 100644
index 0000000000..4bd294c0ad
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/edittrash.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/email.png b/swat/images/icons/crystalsvg/32/email.png
new file mode 100644
index 0000000000..edaba054ed
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/email.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/empty.png b/swat/images/icons/crystalsvg/32/empty.png
new file mode 100644
index 0000000000..f274fd4369
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/empty.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/encrypted.png b/swat/images/icons/crystalsvg/32/encrypted.png
new file mode 100644
index 0000000000..f6db914602
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/encrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/energy.png b/swat/images/icons/crystalsvg/32/energy.png
new file mode 100644
index 0000000000..97681a4df1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/energy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/error.png b/swat/images/icons/crystalsvg/32/error.png
new file mode 100644
index 0000000000..1327c241d3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/error.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/exec.png b/swat/images/icons/crystalsvg/32/exec.png
new file mode 100644
index 0000000000..6d21477035
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/exec.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/favorites.png b/swat/images/icons/crystalsvg/32/favorites.png
new file mode 100644
index 0000000000..b7e10c47fa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/favorites.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/filefind.png b/swat/images/icons/crystalsvg/32/filefind.png
new file mode 100644
index 0000000000..418a8ad2c3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/filefind.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/filenew.png b/swat/images/icons/crystalsvg/32/filenew.png
new file mode 100644
index 0000000000..8a303b7db2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/filenew.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/fileopen.png b/swat/images/icons/crystalsvg/32/fileopen.png
new file mode 100644
index 0000000000..503a004591
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/fileopen.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/fileprint.png b/swat/images/icons/crystalsvg/32/fileprint.png
new file mode 100644
index 0000000000..4325b61869
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/fileprint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/filesave.png b/swat/images/icons/crystalsvg/32/filesave.png
new file mode 100644
index 0000000000..dd00abd166
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/filesave.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/filesaveas.png b/swat/images/icons/crystalsvg/32/filesaveas.png
new file mode 100644
index 0000000000..61a080ecd0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/find.png b/swat/images/icons/crystalsvg/32/find.png
new file mode 100644
index 0000000000..91f6eb6568
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/find.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/folder.png b/swat/images/icons/crystalsvg/32/folder.png
new file mode 100644
index 0000000000..91d8e098b4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/folder.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/folder_home.png b/swat/images/icons/crystalsvg/32/folder_home.png
new file mode 100644
index 0000000000..baa8912e99
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/folder_home.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/folder_important.png b/swat/images/icons/crystalsvg/32/folder_important.png
new file mode 100644
index 0000000000..9f82d14d3d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/folder_important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/folder_locked.png b/swat/images/icons/crystalsvg/32/folder_locked.png
new file mode 100644
index 0000000000..0e20d8cfc4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/folder_open.png b/swat/images/icons/crystalsvg/32/folder_open.png
new file mode 100644
index 0000000000..18cfb602d9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/folder_open.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/font.png b/swat/images/icons/crystalsvg/32/font.png
new file mode 100644
index 0000000000..431ca00ece
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/font.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/forward.png b/swat/images/icons/crystalsvg/32/forward.png
new file mode 100644
index 0000000000..46ce06f8ca
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/gohome.png b/swat/images/icons/crystalsvg/32/gohome.png
new file mode 100644
index 0000000000..5205539fbe
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/gohome.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/help.png b/swat/images/icons/crystalsvg/32/help.png
new file mode 100644
index 0000000000..5858f03f7e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/help.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/hwinfo.png b/swat/images/icons/crystalsvg/32/hwinfo.png
new file mode 100644
index 0000000000..c9ad3a0f2b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/icons.png b/swat/images/icons/crystalsvg/32/icons.png
new file mode 100644
index 0000000000..a12f847d9d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/icons.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/iconthemes.png b/swat/images/icons/crystalsvg/32/iconthemes.png
new file mode 100644
index 0000000000..c5326752ac
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/important.png b/swat/images/icons/crystalsvg/32/important.png
new file mode 100644
index 0000000000..d83f3491e6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/info.png b/swat/images/icons/crystalsvg/32/info.png
new file mode 100644
index 0000000000..4405fae307
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/info.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kcoloredit.png b/swat/images/icons/crystalsvg/32/kcoloredit.png
new file mode 100644
index 0000000000..e5aa87cbdc
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kcontrol.png b/swat/images/icons/crystalsvg/32/kcontrol.png
new file mode 100644
index 0000000000..6537ba75ec
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/keyboard.png b/swat/images/icons/crystalsvg/32/keyboard.png
new file mode 100644
index 0000000000..3bbc805364
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/keyboard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/khelpcenter.png b/swat/images/icons/crystalsvg/32/khelpcenter.png
new file mode 100644
index 0000000000..a626c9d761
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kmix.png b/swat/images/icons/crystalsvg/32/kmix.png
new file mode 100644
index 0000000000..c122c880bf
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kmix.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/knotify.png b/swat/images/icons/crystalsvg/32/knotify.png
new file mode 100644
index 0000000000..ede0d8ed1d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/knotify.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/konqueror.png b/swat/images/icons/crystalsvg/32/konqueror.png
new file mode 100644
index 0000000000..1a04af26f8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/konqueror.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kpackage.png b/swat/images/icons/crystalsvg/32/kpackage.png
new file mode 100644
index 0000000000..b938d97c62
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kpackage.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kpaint.png b/swat/images/icons/crystalsvg/32/kpaint.png
new file mode 100644
index 0000000000..6abbe8cffb
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kpaint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kpersonalizer.png b/swat/images/icons/crystalsvg/32/kpersonalizer.png
new file mode 100644
index 0000000000..cc3e986989
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kpersonalizer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/krita.png b/swat/images/icons/crystalsvg/32/krita.png
new file mode 100644
index 0000000000..eee2e32d19
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/krita.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/ksmiletris.png b/swat/images/icons/crystalsvg/32/ksmiletris.png
new file mode 100644
index 0000000000..2c38e3ce14
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/ksmiletris.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/ksnapshot.png b/swat/images/icons/crystalsvg/32/ksnapshot.png
new file mode 100644
index 0000000000..4619ae8d4d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/ktalkd.png b/swat/images/icons/crystalsvg/32/ktalkd.png
new file mode 100644
index 0000000000..896c9be304
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/ktalkd.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/ktip.png b/swat/images/icons/crystalsvg/32/ktip.png
new file mode 100644
index 0000000000..ee1b839ab3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/ktip.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kuser.png b/swat/images/icons/crystalsvg/32/kuser.png
new file mode 100644
index 0000000000..a5cbf22d3e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kuser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/kview.png b/swat/images/icons/crystalsvg/32/kview.png
new file mode 100644
index 0000000000..31186ed72e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/kview.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/launch.png b/swat/images/icons/crystalsvg/32/launch.png
new file mode 100644
index 0000000000..5f61bea717
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/launch.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/linuxconf.png b/swat/images/icons/crystalsvg/32/linuxconf.png
new file mode 100644
index 0000000000..816291cf0c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/linuxconf.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/locale.png b/swat/images/icons/crystalsvg/32/locale.png
new file mode 100644
index 0000000000..96b4201ac9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/locale.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/looknfeel.png b/swat/images/icons/crystalsvg/32/looknfeel.png
new file mode 100644
index 0000000000..75e29219b0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mac.png b/swat/images/icons/crystalsvg/32/mac.png
new file mode 100644
index 0000000000..68b8b66649
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail.png b/swat/images/icons/crystalsvg/32/mail.png
new file mode 100644
index 0000000000..e78a617a3f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail_delete.png b/swat/images/icons/crystalsvg/32/mail_delete.png
new file mode 100644
index 0000000000..f66cc05954
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail_find.png b/swat/images/icons/crystalsvg/32/mail_find.png
new file mode 100644
index 0000000000..7992c47abe
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail_find.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail_generic.png b/swat/images/icons/crystalsvg/32/mail_generic.png
new file mode 100644
index 0000000000..4d9cf72955
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail_new.png b/swat/images/icons/crystalsvg/32/mail_new.png
new file mode 100644
index 0000000000..e8dfc7cb55
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail_new.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail_replay.png b/swat/images/icons/crystalsvg/32/mail_replay.png
new file mode 100644
index 0000000000..170f2be45c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail_replay.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mail_send.png b/swat/images/icons/crystalsvg/32/mail_send.png
new file mode 100644
index 0000000000..01bd046552
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mail_send.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mimetypes.png b/swat/images/icons/crystalsvg/32/mimetypes.png
new file mode 100644
index 0000000000..ec40f8cf80
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mimetypes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/misc.png b/swat/images/icons/crystalsvg/32/misc.png
new file mode 100644
index 0000000000..6d21477035
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/misc.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mouse.png b/swat/images/icons/crystalsvg/32/mouse.png
new file mode 100644
index 0000000000..c4a2d46033
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mouse.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mozilla.png b/swat/images/icons/crystalsvg/32/mozilla.png
new file mode 100644
index 0000000000..e9b48d5e0a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mozilla.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mycomputer.png b/swat/images/icons/crystalsvg/32/mycomputer.png
new file mode 100644
index 0000000000..ac0954880f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/mymac.png b/swat/images/icons/crystalsvg/32/mymac.png
new file mode 100644
index 0000000000..5eefb938e3
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/mymac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/netscape.png b/swat/images/icons/crystalsvg/32/netscape.png
new file mode 100644
index 0000000000..9167a85051
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/netscape.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/network.png b/swat/images/icons/crystalsvg/32/network.png
new file mode 100644
index 0000000000..8175a4aeca
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/network.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/opera.png b/swat/images/icons/crystalsvg/32/opera.png
new file mode 100644
index 0000000000..616f3ab6df
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/opera.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/package.png b/swat/images/icons/crystalsvg/32/package.png
new file mode 100644
index 0000000000..e13d3d500f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/package.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/password.png b/swat/images/icons/crystalsvg/32/password.png
new file mode 100644
index 0000000000..f59040a8e4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/password.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/penguin.png b/swat/images/icons/crystalsvg/32/penguin.png
new file mode 100644
index 0000000000..28f86e3a57
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/penguin.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/pipe.png b/swat/images/icons/crystalsvg/32/pipe.png
new file mode 100644
index 0000000000..b23fad2f25
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/pipe.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/proxy.png b/swat/images/icons/crystalsvg/32/proxy.png
new file mode 100644
index 0000000000..46f68b2431
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/proxy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/quicktime.png b/swat/images/icons/crystalsvg/32/quicktime.png
new file mode 100644
index 0000000000..0b56fd25ab
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/quicktime.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/realplayer.png b/swat/images/icons/crystalsvg/32/realplayer.png
new file mode 100644
index 0000000000..edb1eef304
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/realplayer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/redo.png b/swat/images/icons/crystalsvg/32/redo.png
new file mode 100644
index 0000000000..8a065ddae6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/redo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/reload.png b/swat/images/icons/crystalsvg/32/reload.png
new file mode 100644
index 0000000000..b6b5cc1ffa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/reload.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/run.png b/swat/images/icons/crystalsvg/32/run.png
new file mode 100644
index 0000000000..6d21477035
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/run.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/search.png b/swat/images/icons/crystalsvg/32/search.png
new file mode 100644
index 0000000000..f507381463
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/search.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/services.png b/swat/images/icons/crystalsvg/32/services.png
new file mode 100644
index 0000000000..67d84fb438
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/services.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/socket.png b/swat/images/icons/crystalsvg/32/socket.png
new file mode 100644
index 0000000000..9118062d94
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/socket.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/stop.png b/swat/images/icons/crystalsvg/32/stop.png
new file mode 100644
index 0000000000..62823a1cb5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/stop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/style.png b/swat/images/icons/crystalsvg/32/style.png
new file mode 100644
index 0000000000..2e29a93a06
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/style.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/stylesheet.png b/swat/images/icons/crystalsvg/32/stylesheet.png
new file mode 100644
index 0000000000..ab8918c30f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/todo.png b/swat/images/icons/crystalsvg/32/todo.png
new file mode 100644
index 0000000000..7d113f111d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/todo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/tux.png b/swat/images/icons/crystalsvg/32/tux.png
new file mode 100644
index 0000000000..c0c562ed80
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/tux.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/32/up.png b/swat/images/icons/crystalsvg/32/up.png
new file mode 100644
index 0000000000..4c06a24b26
--- /dev/null
+++ b/swat/images/icons/crystalsvg/32/up.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/access.png b/swat/images/icons/crystalsvg/48/access.png
new file mode 100644
index 0000000000..2b5f2e6542
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/access.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/agent.png b/swat/images/icons/crystalsvg/48/agent.png
new file mode 100644
index 0000000000..50864ebc14
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/agent.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/antivirus.png b/swat/images/icons/crystalsvg/48/antivirus.png
new file mode 100644
index 0000000000..2218bf15b5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/antivirus.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/back.png b/swat/images/icons/crystalsvg/48/back.png
new file mode 100644
index 0000000000..fb16850c25
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/back.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/background.png b/swat/images/icons/crystalsvg/48/background.png
new file mode 100644
index 0000000000..7b7bf37dd0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/background.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/bell.png b/swat/images/icons/crystalsvg/48/bell.png
new file mode 100644
index 0000000000..0c4b6c5e30
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/bell.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/blockdevice.png b/swat/images/icons/crystalsvg/48/blockdevice.png
new file mode 100644
index 0000000000..894d1485ea
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/blockdevice.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/browser.png b/swat/images/icons/crystalsvg/48/browser.png
new file mode 100644
index 0000000000..5452ee3f09
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/browser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/cache.png b/swat/images/icons/crystalsvg/48/cache.png
new file mode 100644
index 0000000000..df779f4b38
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/cache.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/clock.png b/swat/images/icons/crystalsvg/48/clock.png
new file mode 100644
index 0000000000..b974797592
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/clock.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/colors.png b/swat/images/icons/crystalsvg/48/colors.png
new file mode 100644
index 0000000000..4be4e3501f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/colors.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/core.png b/swat/images/icons/crystalsvg/48/core.png
new file mode 100644
index 0000000000..92af81b0df
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/core.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/date.png b/swat/images/icons/crystalsvg/48/date.png
new file mode 100644
index 0000000000..a510951db4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/date.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/desktop.png b/swat/images/icons/crystalsvg/48/desktop.png
new file mode 100644
index 0000000000..7abb750d40
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/desktop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/display.png b/swat/images/icons/crystalsvg/48/display.png
new file mode 100644
index 0000000000..de7227329e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/display.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/document.png b/swat/images/icons/crystalsvg/48/document.png
new file mode 100644
index 0000000000..21f079bf42
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/document.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/email.png b/swat/images/icons/crystalsvg/48/email.png
new file mode 100644
index 0000000000..431e6925fe
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/email.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/empty.png b/swat/images/icons/crystalsvg/48/empty.png
new file mode 100644
index 0000000000..3cd16fc1db
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/empty.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/encrypted.png b/swat/images/icons/crystalsvg/48/encrypted.png
new file mode 100644
index 0000000000..b4ada7ad5a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/encrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/energy.png b/swat/images/icons/crystalsvg/48/energy.png
new file mode 100644
index 0000000000..1e033aba75
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/energy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/error.png b/swat/images/icons/crystalsvg/48/error.png
new file mode 100644
index 0000000000..99579f1320
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/error.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/exec.png b/swat/images/icons/crystalsvg/48/exec.png
new file mode 100644
index 0000000000..bb18406bd9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/exec.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/favorites.png b/swat/images/icons/crystalsvg/48/favorites.png
new file mode 100644
index 0000000000..d1f5e91ccd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/favorites.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/fileprint.png b/swat/images/icons/crystalsvg/48/fileprint.png
new file mode 100644
index 0000000000..2be5baa693
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/fileprint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/folder.png b/swat/images/icons/crystalsvg/48/folder.png
new file mode 100644
index 0000000000..4c57fb96a7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/folder.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/folder_home.png b/swat/images/icons/crystalsvg/48/folder_home.png
new file mode 100644
index 0000000000..d08e6ab000
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/folder_home.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/folder_important.png b/swat/images/icons/crystalsvg/48/folder_important.png
new file mode 100644
index 0000000000..c8fe646fae
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/folder_important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/folder_locked.png b/swat/images/icons/crystalsvg/48/folder_locked.png
new file mode 100644
index 0000000000..3b24364d4c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/folder_open.png b/swat/images/icons/crystalsvg/48/folder_open.png
new file mode 100644
index 0000000000..3996a2cdba
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/folder_open.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/font.png b/swat/images/icons/crystalsvg/48/font.png
new file mode 100644
index 0000000000..21a04810ef
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/font.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/forward.png b/swat/images/icons/crystalsvg/48/forward.png
new file mode 100644
index 0000000000..69d0e53940
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/gohome.png b/swat/images/icons/crystalsvg/48/gohome.png
new file mode 100644
index 0000000000..d08e6ab000
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/gohome.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/hwinfo.png b/swat/images/icons/crystalsvg/48/hwinfo.png
new file mode 100644
index 0000000000..67ba0e965b
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/icons.png b/swat/images/icons/crystalsvg/48/icons.png
new file mode 100644
index 0000000000..a9100e732d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/icons.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/iconthemes.png b/swat/images/icons/crystalsvg/48/iconthemes.png
new file mode 100644
index 0000000000..05c6c4b46c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/important.png b/swat/images/icons/crystalsvg/48/important.png
new file mode 100644
index 0000000000..fc64e63241
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/info.png b/swat/images/icons/crystalsvg/48/info.png
new file mode 100644
index 0000000000..f21142b518
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/info.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kcoloredit.png b/swat/images/icons/crystalsvg/48/kcoloredit.png
new file mode 100644
index 0000000000..4be4e3501f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kcontrol.png b/swat/images/icons/crystalsvg/48/kcontrol.png
new file mode 100644
index 0000000000..bde85be5fa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/keyboard.png b/swat/images/icons/crystalsvg/48/keyboard.png
new file mode 100644
index 0000000000..04c8211479
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/keyboard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/khelpcenter.png b/swat/images/icons/crystalsvg/48/khelpcenter.png
new file mode 100644
index 0000000000..970075d939
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kmix.png b/swat/images/icons/crystalsvg/48/kmix.png
new file mode 100644
index 0000000000..e88e686623
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kmix.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/knotify.png b/swat/images/icons/crystalsvg/48/knotify.png
new file mode 100644
index 0000000000..b0aa6e8fa9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/knotify.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/konqueror.png b/swat/images/icons/crystalsvg/48/konqueror.png
new file mode 100644
index 0000000000..0edd9b5b6e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/konqueror.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kpackage.png b/swat/images/icons/crystalsvg/48/kpackage.png
new file mode 100644
index 0000000000..4f629eaf36
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kpackage.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kpaint.png b/swat/images/icons/crystalsvg/48/kpaint.png
new file mode 100644
index 0000000000..2de7bfc90c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kpaint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/krita.png b/swat/images/icons/crystalsvg/48/krita.png
new file mode 100644
index 0000000000..b6a47d0bbd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/krita.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/ksmiletris.png b/swat/images/icons/crystalsvg/48/ksmiletris.png
new file mode 100644
index 0000000000..17696b2c1f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/ksmiletris.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/ksnapshot.png b/swat/images/icons/crystalsvg/48/ksnapshot.png
new file mode 100644
index 0000000000..f962f5a065
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/ktalkd.png b/swat/images/icons/crystalsvg/48/ktalkd.png
new file mode 100644
index 0000000000..0ad792c745
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/ktalkd.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/ktip.png b/swat/images/icons/crystalsvg/48/ktip.png
new file mode 100644
index 0000000000..de04d3aa7d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/ktip.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kuser.png b/swat/images/icons/crystalsvg/48/kuser.png
new file mode 100644
index 0000000000..d8b241ca96
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kuser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/kview.png b/swat/images/icons/crystalsvg/48/kview.png
new file mode 100644
index 0000000000..e225390c34
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/kview.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/linuxconf.png b/swat/images/icons/crystalsvg/48/linuxconf.png
new file mode 100644
index 0000000000..1ed04dd39a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/linuxconf.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/locale.png b/swat/images/icons/crystalsvg/48/locale.png
new file mode 100644
index 0000000000..e7defacbc0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/locale.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/looknfeel.png b/swat/images/icons/crystalsvg/48/looknfeel.png
new file mode 100644
index 0000000000..342ebd7af5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/mac.png b/swat/images/icons/crystalsvg/48/mac.png
new file mode 100644
index 0000000000..40b1613efa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/mac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/mail.png b/swat/images/icons/crystalsvg/48/mail.png
new file mode 100644
index 0000000000..b865fd8533
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/mail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/mouse.png b/swat/images/icons/crystalsvg/48/mouse.png
new file mode 100644
index 0000000000..a35c2405ee
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/mouse.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/mozilla.png b/swat/images/icons/crystalsvg/48/mozilla.png
new file mode 100644
index 0000000000..0655075901
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/mozilla.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/mycomputer.png b/swat/images/icons/crystalsvg/48/mycomputer.png
new file mode 100644
index 0000000000..abe2119c6c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/mymac.png b/swat/images/icons/crystalsvg/48/mymac.png
new file mode 100644
index 0000000000..7d7eb97c8d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/mymac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/netscape.png b/swat/images/icons/crystalsvg/48/netscape.png
new file mode 100644
index 0000000000..795ade4373
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/netscape.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/network.png b/swat/images/icons/crystalsvg/48/network.png
new file mode 100644
index 0000000000..1b50abdf9a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/network.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/opera.png b/swat/images/icons/crystalsvg/48/opera.png
new file mode 100644
index 0000000000..f092f4ec27
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/opera.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/package.png b/swat/images/icons/crystalsvg/48/package.png
new file mode 100644
index 0000000000..db59aecca6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/package.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/password.png b/swat/images/icons/crystalsvg/48/password.png
new file mode 100644
index 0000000000..cfe82a9350
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/password.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/penguin.png b/swat/images/icons/crystalsvg/48/penguin.png
new file mode 100644
index 0000000000..61c96a2b93
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/penguin.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/pipe.png b/swat/images/icons/crystalsvg/48/pipe.png
new file mode 100644
index 0000000000..9b75ef8341
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/pipe.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/proxy.png b/swat/images/icons/crystalsvg/48/proxy.png
new file mode 100644
index 0000000000..3683e298c1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/proxy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/quicktime.png b/swat/images/icons/crystalsvg/48/quicktime.png
new file mode 100644
index 0000000000..d4f6b2bb9d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/quicktime.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/realplayer.png b/swat/images/icons/crystalsvg/48/realplayer.png
new file mode 100644
index 0000000000..97138086c4
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/realplayer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/reload.png b/swat/images/icons/crystalsvg/48/reload.png
new file mode 100644
index 0000000000..18304065d1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/reload.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/services.png b/swat/images/icons/crystalsvg/48/services.png
new file mode 100644
index 0000000000..38e1e38dc5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/services.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/socket.png b/swat/images/icons/crystalsvg/48/socket.png
new file mode 100644
index 0000000000..98bfb35fd0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/socket.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/style.png b/swat/images/icons/crystalsvg/48/style.png
new file mode 100644
index 0000000000..5d8af7e878
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/style.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/stylesheet.png b/swat/images/icons/crystalsvg/48/stylesheet.png
new file mode 100644
index 0000000000..f74586b3c1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/tux.png b/swat/images/icons/crystalsvg/48/tux.png
new file mode 100644
index 0000000000..d75f61b08e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/tux.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/48/up.png b/swat/images/icons/crystalsvg/48/up.png
new file mode 100644
index 0000000000..5231986509
--- /dev/null
+++ b/swat/images/icons/crystalsvg/48/up.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/antivirus.png b/swat/images/icons/crystalsvg/64/antivirus.png
new file mode 100644
index 0000000000..c4aac8acaf
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/antivirus.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/back.png b/swat/images/icons/crystalsvg/64/back.png
new file mode 100644
index 0000000000..1941c2fdee
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/back.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/background.png b/swat/images/icons/crystalsvg/64/background.png
new file mode 100644
index 0000000000..617f37ba73
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/background.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/bell.png b/swat/images/icons/crystalsvg/64/bell.png
new file mode 100644
index 0000000000..f83c4092e8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/bell.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/blockdevice.png b/swat/images/icons/crystalsvg/64/blockdevice.png
new file mode 100644
index 0000000000..656b6e73ac
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/blockdevice.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/browser.png b/swat/images/icons/crystalsvg/64/browser.png
new file mode 100644
index 0000000000..2029384e38
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/browser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/cache.png b/swat/images/icons/crystalsvg/64/cache.png
new file mode 100644
index 0000000000..a49b55d1dd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/cache.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/clock.png b/swat/images/icons/crystalsvg/64/clock.png
new file mode 100644
index 0000000000..5698b5e051
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/clock.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/colors.png b/swat/images/icons/crystalsvg/64/colors.png
new file mode 100644
index 0000000000..6c76da0b02
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/colors.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/core.png b/swat/images/icons/crystalsvg/64/core.png
new file mode 100644
index 0000000000..3ea7a37495
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/core.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/date.png b/swat/images/icons/crystalsvg/64/date.png
new file mode 100644
index 0000000000..06761d77ea
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/date.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/desktop.png b/swat/images/icons/crystalsvg/64/desktop.png
new file mode 100644
index 0000000000..e0dc3b02e9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/desktop.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/display.png b/swat/images/icons/crystalsvg/64/display.png
new file mode 100644
index 0000000000..81beb9ad52
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/display.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/document.png b/swat/images/icons/crystalsvg/64/document.png
new file mode 100644
index 0000000000..ed0799b928
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/document.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/email.png b/swat/images/icons/crystalsvg/64/email.png
new file mode 100644
index 0000000000..8a2ac80b59
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/email.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/empty.png b/swat/images/icons/crystalsvg/64/empty.png
new file mode 100644
index 0000000000..2ce620f4c2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/empty.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/encrypted.png b/swat/images/icons/crystalsvg/64/encrypted.png
new file mode 100644
index 0000000000..867039f9dd
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/encrypted.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/energy.png b/swat/images/icons/crystalsvg/64/energy.png
new file mode 100644
index 0000000000..ef4017f76c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/energy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/error.png b/swat/images/icons/crystalsvg/64/error.png
new file mode 100644
index 0000000000..c486063304
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/error.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/exec.png b/swat/images/icons/crystalsvg/64/exec.png
new file mode 100644
index 0000000000..da16a98fd8
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/exec.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/fileprint.png b/swat/images/icons/crystalsvg/64/fileprint.png
new file mode 100644
index 0000000000..758bb8edbf
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/fileprint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/folder.png b/swat/images/icons/crystalsvg/64/folder.png
new file mode 100644
index 0000000000..954d31a884
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/folder.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/folder_home.png b/swat/images/icons/crystalsvg/64/folder_home.png
new file mode 100644
index 0000000000..acf3e4aa84
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/folder_home.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/folder_important.png b/swat/images/icons/crystalsvg/64/folder_important.png
new file mode 100644
index 0000000000..a534e6cea5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/folder_important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/folder_locked.png b/swat/images/icons/crystalsvg/64/folder_locked.png
new file mode 100644
index 0000000000..04d7b74046
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/folder_open.png b/swat/images/icons/crystalsvg/64/folder_open.png
new file mode 100644
index 0000000000..d454d56836
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/folder_open.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/font.png b/swat/images/icons/crystalsvg/64/font.png
new file mode 100644
index 0000000000..7236ba2e29
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/font.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/forward.png b/swat/images/icons/crystalsvg/64/forward.png
new file mode 100644
index 0000000000..2776d66255
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/forward.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/gohome.png b/swat/images/icons/crystalsvg/64/gohome.png
new file mode 100644
index 0000000000..acf3e4aa84
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/gohome.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/hwinfo.png b/swat/images/icons/crystalsvg/64/hwinfo.png
new file mode 100644
index 0000000000..f08a5e58ec
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/icons.png b/swat/images/icons/crystalsvg/64/icons.png
new file mode 100644
index 0000000000..3891bc74db
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/icons.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/important.png b/swat/images/icons/crystalsvg/64/important.png
new file mode 100644
index 0000000000..2da725a771
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/important.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/info.png b/swat/images/icons/crystalsvg/64/info.png
new file mode 100644
index 0000000000..3a75f4a78f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/info.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kcoloredit.png b/swat/images/icons/crystalsvg/64/kcoloredit.png
new file mode 100644
index 0000000000..6c76da0b02
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kcontrol.png b/swat/images/icons/crystalsvg/64/kcontrol.png
new file mode 100644
index 0000000000..4d4db5d657
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/keyboard.png b/swat/images/icons/crystalsvg/64/keyboard.png
new file mode 100644
index 0000000000..1a6e50f820
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/keyboard.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/khelpcenter.png b/swat/images/icons/crystalsvg/64/khelpcenter.png
new file mode 100644
index 0000000000..44ddf68f4e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kmix.png b/swat/images/icons/crystalsvg/64/kmix.png
new file mode 100644
index 0000000000..fbe8e6d617
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kmix.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/knotify.png b/swat/images/icons/crystalsvg/64/knotify.png
new file mode 100644
index 0000000000..3a4d918ae6
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/knotify.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/konqueror.png b/swat/images/icons/crystalsvg/64/konqueror.png
new file mode 100644
index 0000000000..530b3be173
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/konqueror.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kpackage.png b/swat/images/icons/crystalsvg/64/kpackage.png
new file mode 100644
index 0000000000..2053a1eb63
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kpackage.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kpaint.png b/swat/images/icons/crystalsvg/64/kpaint.png
new file mode 100644
index 0000000000..8d602ce676
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kpaint.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/krita.png b/swat/images/icons/crystalsvg/64/krita.png
new file mode 100644
index 0000000000..1b51da48e5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/krita.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/ksmiletris.png b/swat/images/icons/crystalsvg/64/ksmiletris.png
new file mode 100644
index 0000000000..6c9b62635d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/ksmiletris.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/ksnapshot.png b/swat/images/icons/crystalsvg/64/ksnapshot.png
new file mode 100644
index 0000000000..d999dade44
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/ktalkd.png b/swat/images/icons/crystalsvg/64/ktalkd.png
new file mode 100644
index 0000000000..e3d5be7891
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/ktalkd.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/ktip.png b/swat/images/icons/crystalsvg/64/ktip.png
new file mode 100644
index 0000000000..3741faba63
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/ktip.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kuser.png b/swat/images/icons/crystalsvg/64/kuser.png
new file mode 100644
index 0000000000..57c5726d0a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kuser.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/kview.png b/swat/images/icons/crystalsvg/64/kview.png
new file mode 100644
index 0000000000..dbe400a89c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/kview.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/linuxconf.png b/swat/images/icons/crystalsvg/64/linuxconf.png
new file mode 100644
index 0000000000..684ab96d6e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/linuxconf.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/locale.png b/swat/images/icons/crystalsvg/64/locale.png
new file mode 100644
index 0000000000..042c0d3458
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/locale.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/looknfeel.png b/swat/images/icons/crystalsvg/64/looknfeel.png
new file mode 100644
index 0000000000..b73346e44f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mac.png b/swat/images/icons/crystalsvg/64/mac.png
new file mode 100644
index 0000000000..69451090e0
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mail.png b/swat/images/icons/crystalsvg/64/mail.png
new file mode 100644
index 0000000000..398e62c871
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mail.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mimetypes.png b/swat/images/icons/crystalsvg/64/mimetypes.png
new file mode 100644
index 0000000000..0f6db48faa
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mimetypes.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mouse.png b/swat/images/icons/crystalsvg/64/mouse.png
new file mode 100644
index 0000000000..6c9eb18722
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mouse.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mozilla.png b/swat/images/icons/crystalsvg/64/mozilla.png
new file mode 100644
index 0000000000..f58ec26cd7
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mozilla.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mycomputer.png b/swat/images/icons/crystalsvg/64/mycomputer.png
new file mode 100644
index 0000000000..935e5a1f4c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/mymac.png b/swat/images/icons/crystalsvg/64/mymac.png
new file mode 100644
index 0000000000..d72541db92
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/mymac.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/netscape.png b/swat/images/icons/crystalsvg/64/netscape.png
new file mode 100644
index 0000000000..ca5c65d99a
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/netscape.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/network.png b/swat/images/icons/crystalsvg/64/network.png
new file mode 100644
index 0000000000..e032cf17b2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/network.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/package.png b/swat/images/icons/crystalsvg/64/package.png
new file mode 100644
index 0000000000..d43ebbd058
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/package.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/password.png b/swat/images/icons/crystalsvg/64/password.png
new file mode 100644
index 0000000000..2144538119
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/password.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/penguin.png b/swat/images/icons/crystalsvg/64/penguin.png
new file mode 100644
index 0000000000..6c37b8920d
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/penguin.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/pipe.png b/swat/images/icons/crystalsvg/64/pipe.png
new file mode 100644
index 0000000000..a8ab4256f2
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/pipe.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/proxy.png b/swat/images/icons/crystalsvg/64/proxy.png
new file mode 100644
index 0000000000..9b5f5b6a8f
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/proxy.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/quicktime.png b/swat/images/icons/crystalsvg/64/quicktime.png
new file mode 100644
index 0000000000..3922e74787
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/quicktime.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/realplayer.png b/swat/images/icons/crystalsvg/64/realplayer.png
new file mode 100644
index 0000000000..5e12d742e1
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/realplayer.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/reload.png b/swat/images/icons/crystalsvg/64/reload.png
new file mode 100644
index 0000000000..8f0e77ac4c
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/reload.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/services.png b/swat/images/icons/crystalsvg/64/services.png
new file mode 100644
index 0000000000..90866e8c76
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/services.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/socket.png b/swat/images/icons/crystalsvg/64/socket.png
new file mode 100644
index 0000000000..44574c8572
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/socket.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/style.png b/swat/images/icons/crystalsvg/64/style.png
new file mode 100644
index 0000000000..d3f70b0cb5
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/style.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/stylesheet.png b/swat/images/icons/crystalsvg/64/stylesheet.png
new file mode 100644
index 0000000000..ac393bc3e9
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/tux.png b/swat/images/icons/crystalsvg/64/tux.png
new file mode 100644
index 0000000000..99f3465e53
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/tux.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/64/up.png b/swat/images/icons/crystalsvg/64/up.png
new file mode 100644
index 0000000000..89f77e6c9e
--- /dev/null
+++ b/swat/images/icons/crystalsvg/64/up.png
Binary files differ
diff --git a/swat/images/icons/crystalsvg/README b/swat/images/icons/crystalsvg/README
new file mode 100644
index 0000000000..5bac3d0134
--- /dev/null
+++ b/swat/images/icons/crystalsvg/README
@@ -0,0 +1,7 @@
+Crystal SVG
+
+http://www.everaldo.com
+http://www.kde-look.org/content/show.php?content=8341
+
+License: Unknown
+Artist: Everaldo \ No newline at end of file
diff --git a/swat/images/icons/nuvola/128/access.png b/swat/images/icons/nuvola/128/access.png
new file mode 100644
index 0000000000..1ea686899e
--- /dev/null
+++ b/swat/images/icons/nuvola/128/access.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/agent.png b/swat/images/icons/nuvola/128/agent.png
new file mode 100644
index 0000000000..caa430edea
--- /dev/null
+++ b/swat/images/icons/nuvola/128/agent.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/background.png b/swat/images/icons/nuvola/128/background.png
new file mode 100644
index 0000000000..a4a92b0056
--- /dev/null
+++ b/swat/images/icons/nuvola/128/background.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/bell.png b/swat/images/icons/nuvola/128/bell.png
new file mode 100644
index 0000000000..5ad1cd49c6
--- /dev/null
+++ b/swat/images/icons/nuvola/128/bell.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/browser.png b/swat/images/icons/nuvola/128/browser.png
new file mode 100644
index 0000000000..99d1fed73a
--- /dev/null
+++ b/swat/images/icons/nuvola/128/browser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/cache.png b/swat/images/icons/nuvola/128/cache.png
new file mode 100644
index 0000000000..2ffacacfb7
--- /dev/null
+++ b/swat/images/icons/nuvola/128/cache.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/clock.png b/swat/images/icons/nuvola/128/clock.png
new file mode 100644
index 0000000000..a4794d8a74
--- /dev/null
+++ b/swat/images/icons/nuvola/128/clock.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/colors.png b/swat/images/icons/nuvola/128/colors.png
new file mode 100644
index 0000000000..e728b66631
--- /dev/null
+++ b/swat/images/icons/nuvola/128/colors.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/colorset.png b/swat/images/icons/nuvola/128/colorset.png
new file mode 100644
index 0000000000..e520674a8c
--- /dev/null
+++ b/swat/images/icons/nuvola/128/colorset.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/cookie.png b/swat/images/icons/nuvola/128/cookie.png
new file mode 100644
index 0000000000..2ef2521f91
--- /dev/null
+++ b/swat/images/icons/nuvola/128/cookie.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/core.png b/swat/images/icons/nuvola/128/core.png
new file mode 100644
index 0000000000..aa28471677
--- /dev/null
+++ b/swat/images/icons/nuvola/128/core.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/date.png b/swat/images/icons/nuvola/128/date.png
new file mode 100644
index 0000000000..532d4d3643
--- /dev/null
+++ b/swat/images/icons/nuvola/128/date.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/desktop.png b/swat/images/icons/nuvola/128/desktop.png
new file mode 100644
index 0000000000..91d7bd53a7
--- /dev/null
+++ b/swat/images/icons/nuvola/128/desktop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/display.png b/swat/images/icons/nuvola/128/display.png
new file mode 100644
index 0000000000..fc0da13ab8
--- /dev/null
+++ b/swat/images/icons/nuvola/128/display.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/document.png b/swat/images/icons/nuvola/128/document.png
new file mode 100644
index 0000000000..6283f854bd
--- /dev/null
+++ b/swat/images/icons/nuvola/128/document.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/email.png b/swat/images/icons/nuvola/128/email.png
new file mode 100644
index 0000000000..7bca49ae0e
--- /dev/null
+++ b/swat/images/icons/nuvola/128/email.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/empty.png b/swat/images/icons/nuvola/128/empty.png
new file mode 100644
index 0000000000..eca5fc4b07
--- /dev/null
+++ b/swat/images/icons/nuvola/128/empty.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/encrypted.png b/swat/images/icons/nuvola/128/encrypted.png
new file mode 100644
index 0000000000..07d0603270
--- /dev/null
+++ b/swat/images/icons/nuvola/128/encrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/energy.png b/swat/images/icons/nuvola/128/energy.png
new file mode 100644
index 0000000000..4b2dbc4f56
--- /dev/null
+++ b/swat/images/icons/nuvola/128/energy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/error.png b/swat/images/icons/nuvola/128/error.png
new file mode 100644
index 0000000000..d0152daaa8
--- /dev/null
+++ b/swat/images/icons/nuvola/128/error.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/exec.png b/swat/images/icons/nuvola/128/exec.png
new file mode 100644
index 0000000000..7354a545e0
--- /dev/null
+++ b/swat/images/icons/nuvola/128/exec.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/folder.png b/swat/images/icons/nuvola/128/folder.png
new file mode 100644
index 0000000000..9b62a3be5d
--- /dev/null
+++ b/swat/images/icons/nuvola/128/folder.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/folder_home.png b/swat/images/icons/nuvola/128/folder_home.png
new file mode 100644
index 0000000000..d7720a20e7
--- /dev/null
+++ b/swat/images/icons/nuvola/128/folder_home.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/folder_important.png b/swat/images/icons/nuvola/128/folder_important.png
new file mode 100644
index 0000000000..7be7064a67
--- /dev/null
+++ b/swat/images/icons/nuvola/128/folder_important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/folder_locked.png b/swat/images/icons/nuvola/128/folder_locked.png
new file mode 100644
index 0000000000..0cc9cfd971
--- /dev/null
+++ b/swat/images/icons/nuvola/128/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/folder_open.png b/swat/images/icons/nuvola/128/folder_open.png
new file mode 100644
index 0000000000..73a193a652
--- /dev/null
+++ b/swat/images/icons/nuvola/128/folder_open.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/font.png b/swat/images/icons/nuvola/128/font.png
new file mode 100644
index 0000000000..260ed693bd
--- /dev/null
+++ b/swat/images/icons/nuvola/128/font.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/hwinfo.png b/swat/images/icons/nuvola/128/hwinfo.png
new file mode 100644
index 0000000000..cbfa846b56
--- /dev/null
+++ b/swat/images/icons/nuvola/128/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/icons.png b/swat/images/icons/nuvola/128/icons.png
new file mode 100644
index 0000000000..300142e5fa
--- /dev/null
+++ b/swat/images/icons/nuvola/128/icons.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/iconthemes.png b/swat/images/icons/nuvola/128/iconthemes.png
new file mode 100644
index 0000000000..71aa8a8018
--- /dev/null
+++ b/swat/images/icons/nuvola/128/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/important.png b/swat/images/icons/nuvola/128/important.png
new file mode 100644
index 0000000000..83c70568fc
--- /dev/null
+++ b/swat/images/icons/nuvola/128/important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/info.png b/swat/images/icons/nuvola/128/info.png
new file mode 100644
index 0000000000..77ca807b66
--- /dev/null
+++ b/swat/images/icons/nuvola/128/info.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kcoloredit.png b/swat/images/icons/nuvola/128/kcoloredit.png
new file mode 100644
index 0000000000..7e05aeac65
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kcontrol.png b/swat/images/icons/nuvola/128/kcontrol.png
new file mode 100644
index 0000000000..e79094c4f4
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/keyboard.png b/swat/images/icons/nuvola/128/keyboard.png
new file mode 100644
index 0000000000..50744c1997
--- /dev/null
+++ b/swat/images/icons/nuvola/128/keyboard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/khelpcenter.png b/swat/images/icons/nuvola/128/khelpcenter.png
new file mode 100644
index 0000000000..c767aaffaa
--- /dev/null
+++ b/swat/images/icons/nuvola/128/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kmix.png b/swat/images/icons/nuvola/128/kmix.png
new file mode 100644
index 0000000000..c0992b75aa
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kmix.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/knotify.png b/swat/images/icons/nuvola/128/knotify.png
new file mode 100644
index 0000000000..d878c4f23e
--- /dev/null
+++ b/swat/images/icons/nuvola/128/knotify.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/konqueror.png b/swat/images/icons/nuvola/128/konqueror.png
new file mode 100644
index 0000000000..00e824914b
--- /dev/null
+++ b/swat/images/icons/nuvola/128/konqueror.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kpackage.png b/swat/images/icons/nuvola/128/kpackage.png
new file mode 100644
index 0000000000..a5aa32968b
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kpackage.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kpaint.png b/swat/images/icons/nuvola/128/kpaint.png
new file mode 100644
index 0000000000..b1ceb3e40f
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kpaint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/krita.png b/swat/images/icons/nuvola/128/krita.png
new file mode 100644
index 0000000000..fb1a088cc3
--- /dev/null
+++ b/swat/images/icons/nuvola/128/krita.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/ksnapshot.png b/swat/images/icons/nuvola/128/ksnapshot.png
new file mode 100644
index 0000000000..4f19721de4
--- /dev/null
+++ b/swat/images/icons/nuvola/128/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/ktip.png b/swat/images/icons/nuvola/128/ktip.png
new file mode 100644
index 0000000000..24c527069e
--- /dev/null
+++ b/swat/images/icons/nuvola/128/ktip.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kuser.png b/swat/images/icons/nuvola/128/kuser.png
new file mode 100644
index 0000000000..6ed54d43a9
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kuser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/kview.png b/swat/images/icons/nuvola/128/kview.png
new file mode 100644
index 0000000000..86a385a461
--- /dev/null
+++ b/swat/images/icons/nuvola/128/kview.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/locale.png b/swat/images/icons/nuvola/128/locale.png
new file mode 100644
index 0000000000..9b3e233d9e
--- /dev/null
+++ b/swat/images/icons/nuvola/128/locale.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/looknfeel.png b/swat/images/icons/nuvola/128/looknfeel.png
new file mode 100644
index 0000000000..197021b62b
--- /dev/null
+++ b/swat/images/icons/nuvola/128/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/mozilla.png b/swat/images/icons/nuvola/128/mozilla.png
new file mode 100644
index 0000000000..6ac2de710d
--- /dev/null
+++ b/swat/images/icons/nuvola/128/mozilla.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/mycomputer.png b/swat/images/icons/nuvola/128/mycomputer.png
new file mode 100644
index 0000000000..a6736baeef
--- /dev/null
+++ b/swat/images/icons/nuvola/128/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/netscape.png b/swat/images/icons/nuvola/128/netscape.png
new file mode 100644
index 0000000000..26bf224295
--- /dev/null
+++ b/swat/images/icons/nuvola/128/netscape.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/network.png b/swat/images/icons/nuvola/128/network.png
new file mode 100644
index 0000000000..4961ac2750
--- /dev/null
+++ b/swat/images/icons/nuvola/128/network.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/opera.png b/swat/images/icons/nuvola/128/opera.png
new file mode 100644
index 0000000000..8f0248118f
--- /dev/null
+++ b/swat/images/icons/nuvola/128/opera.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/package.png b/swat/images/icons/nuvola/128/package.png
new file mode 100644
index 0000000000..25584da28d
--- /dev/null
+++ b/swat/images/icons/nuvola/128/package.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/password.png b/swat/images/icons/nuvola/128/password.png
new file mode 100644
index 0000000000..ffe9b375b2
--- /dev/null
+++ b/swat/images/icons/nuvola/128/password.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/pipe.png b/swat/images/icons/nuvola/128/pipe.png
new file mode 100644
index 0000000000..644cabb8f2
--- /dev/null
+++ b/swat/images/icons/nuvola/128/pipe.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/realplayer.png b/swat/images/icons/nuvola/128/realplayer.png
new file mode 100644
index 0000000000..2c6b725529
--- /dev/null
+++ b/swat/images/icons/nuvola/128/realplayer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/services.png b/swat/images/icons/nuvola/128/services.png
new file mode 100644
index 0000000000..799ebb9bb5
--- /dev/null
+++ b/swat/images/icons/nuvola/128/services.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/socket.png b/swat/images/icons/nuvola/128/socket.png
new file mode 100644
index 0000000000..bb745dc3d7
--- /dev/null
+++ b/swat/images/icons/nuvola/128/socket.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/style.png b/swat/images/icons/nuvola/128/style.png
new file mode 100644
index 0000000000..fa0314920a
--- /dev/null
+++ b/swat/images/icons/nuvola/128/style.png
Binary files differ
diff --git a/swat/images/icons/nuvola/128/stylesheet.png b/swat/images/icons/nuvola/128/stylesheet.png
new file mode 100644
index 0000000000..3796d1663c
--- /dev/null
+++ b/swat/images/icons/nuvola/128/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/access.png b/swat/images/icons/nuvola/16/access.png
new file mode 100644
index 0000000000..c6a670be53
--- /dev/null
+++ b/swat/images/icons/nuvola/16/access.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/agent.png b/swat/images/icons/nuvola/16/agent.png
new file mode 100644
index 0000000000..d0e68864d2
--- /dev/null
+++ b/swat/images/icons/nuvola/16/agent.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/apply.png b/swat/images/icons/nuvola/16/apply.png
new file mode 100644
index 0000000000..5b0f6a6174
--- /dev/null
+++ b/swat/images/icons/nuvola/16/apply.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/back.png b/swat/images/icons/nuvola/16/back.png
new file mode 100644
index 0000000000..3fe8b178ec
--- /dev/null
+++ b/swat/images/icons/nuvola/16/back.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/background.png b/swat/images/icons/nuvola/16/background.png
new file mode 100644
index 0000000000..14ea3e47fd
--- /dev/null
+++ b/swat/images/icons/nuvola/16/background.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/bell.png b/swat/images/icons/nuvola/16/bell.png
new file mode 100644
index 0000000000..6a10c01e85
--- /dev/null
+++ b/swat/images/icons/nuvola/16/bell.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/bookmark.png b/swat/images/icons/nuvola/16/bookmark.png
new file mode 100644
index 0000000000..2cd69471de
--- /dev/null
+++ b/swat/images/icons/nuvola/16/bookmark.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/browser.png b/swat/images/icons/nuvola/16/browser.png
new file mode 100644
index 0000000000..03ef9a5700
--- /dev/null
+++ b/swat/images/icons/nuvola/16/browser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/button_cancel.png b/swat/images/icons/nuvola/16/button_cancel.png
new file mode 100644
index 0000000000..a432b492c4
--- /dev/null
+++ b/swat/images/icons/nuvola/16/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/button_ok.png b/swat/images/icons/nuvola/16/button_ok.png
new file mode 100644
index 0000000000..5b0f6a6174
--- /dev/null
+++ b/swat/images/icons/nuvola/16/button_ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/cache.png b/swat/images/icons/nuvola/16/cache.png
new file mode 100644
index 0000000000..b789c54462
--- /dev/null
+++ b/swat/images/icons/nuvola/16/cache.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/clock.png b/swat/images/icons/nuvola/16/clock.png
new file mode 100644
index 0000000000..7c622a0999
--- /dev/null
+++ b/swat/images/icons/nuvola/16/clock.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/colorize.png b/swat/images/icons/nuvola/16/colorize.png
new file mode 100644
index 0000000000..bdc03f7cb6
--- /dev/null
+++ b/swat/images/icons/nuvola/16/colorize.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/colors.png b/swat/images/icons/nuvola/16/colors.png
new file mode 100644
index 0000000000..fc6a1953bf
--- /dev/null
+++ b/swat/images/icons/nuvola/16/colors.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/colorset.png b/swat/images/icons/nuvola/16/colorset.png
new file mode 100644
index 0000000000..9c12b3c76a
--- /dev/null
+++ b/swat/images/icons/nuvola/16/colorset.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/configure.png b/swat/images/icons/nuvola/16/configure.png
new file mode 100644
index 0000000000..a4a3834abc
--- /dev/null
+++ b/swat/images/icons/nuvola/16/configure.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/cookie.png b/swat/images/icons/nuvola/16/cookie.png
new file mode 100644
index 0000000000..5c1ca3c0f0
--- /dev/null
+++ b/swat/images/icons/nuvola/16/cookie.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/core.png b/swat/images/icons/nuvola/16/core.png
new file mode 100644
index 0000000000..f82088a5e7
--- /dev/null
+++ b/swat/images/icons/nuvola/16/core.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/date.png b/swat/images/icons/nuvola/16/date.png
new file mode 100644
index 0000000000..bd4b4c6c16
--- /dev/null
+++ b/swat/images/icons/nuvola/16/date.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/decrypted.png b/swat/images/icons/nuvola/16/decrypted.png
new file mode 100644
index 0000000000..42dd93e266
--- /dev/null
+++ b/swat/images/icons/nuvola/16/decrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/desktop.png b/swat/images/icons/nuvola/16/desktop.png
new file mode 100644
index 0000000000..291f8a4ac9
--- /dev/null
+++ b/swat/images/icons/nuvola/16/desktop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/display.png b/swat/images/icons/nuvola/16/display.png
new file mode 100644
index 0000000000..ededc0bd34
--- /dev/null
+++ b/swat/images/icons/nuvola/16/display.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/document.png b/swat/images/icons/nuvola/16/document.png
new file mode 100644
index 0000000000..24c9c5757e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/document.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/down.png b/swat/images/icons/nuvola/16/down.png
new file mode 100644
index 0000000000..f3bc4cd093
--- /dev/null
+++ b/swat/images/icons/nuvola/16/down.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/edit.png b/swat/images/icons/nuvola/16/edit.png
new file mode 100644
index 0000000000..423187c2c3
--- /dev/null
+++ b/swat/images/icons/nuvola/16/edit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/editcopy.png b/swat/images/icons/nuvola/16/editcopy.png
new file mode 100644
index 0000000000..b7c938a999
--- /dev/null
+++ b/swat/images/icons/nuvola/16/editcopy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/editcut.png b/swat/images/icons/nuvola/16/editcut.png
new file mode 100644
index 0000000000..49f359147a
--- /dev/null
+++ b/swat/images/icons/nuvola/16/editcut.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/editdelete.png b/swat/images/icons/nuvola/16/editdelete.png
new file mode 100644
index 0000000000..d33c344545
--- /dev/null
+++ b/swat/images/icons/nuvola/16/editdelete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/editpaste.png b/swat/images/icons/nuvola/16/editpaste.png
new file mode 100644
index 0000000000..4c43ddfd76
--- /dev/null
+++ b/swat/images/icons/nuvola/16/editpaste.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/edittrash.png b/swat/images/icons/nuvola/16/edittrash.png
new file mode 100644
index 0000000000..b0bde007ed
--- /dev/null
+++ b/swat/images/icons/nuvola/16/edittrash.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/email.png b/swat/images/icons/nuvola/16/email.png
new file mode 100644
index 0000000000..694a8e068b
--- /dev/null
+++ b/swat/images/icons/nuvola/16/email.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/empty.png b/swat/images/icons/nuvola/16/empty.png
new file mode 100644
index 0000000000..55ace49b68
--- /dev/null
+++ b/swat/images/icons/nuvola/16/empty.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/encrypted.png b/swat/images/icons/nuvola/16/encrypted.png
new file mode 100644
index 0000000000..6df8ea6d8a
--- /dev/null
+++ b/swat/images/icons/nuvola/16/encrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/energy.png b/swat/images/icons/nuvola/16/energy.png
new file mode 100644
index 0000000000..733dfcf8b9
--- /dev/null
+++ b/swat/images/icons/nuvola/16/energy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/error.png b/swat/images/icons/nuvola/16/error.png
new file mode 100644
index 0000000000..2997461b21
--- /dev/null
+++ b/swat/images/icons/nuvola/16/error.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/exec.png b/swat/images/icons/nuvola/16/exec.png
new file mode 100644
index 0000000000..4e7fc432db
--- /dev/null
+++ b/swat/images/icons/nuvola/16/exec.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/filenew.png b/swat/images/icons/nuvola/16/filenew.png
new file mode 100644
index 0000000000..f38d02ee59
--- /dev/null
+++ b/swat/images/icons/nuvola/16/filenew.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/fileopen.png b/swat/images/icons/nuvola/16/fileopen.png
new file mode 100644
index 0000000000..2d8e3ba2ba
--- /dev/null
+++ b/swat/images/icons/nuvola/16/fileopen.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/fileprint.png b/swat/images/icons/nuvola/16/fileprint.png
new file mode 100644
index 0000000000..3a87543224
--- /dev/null
+++ b/swat/images/icons/nuvola/16/fileprint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/filesave.png b/swat/images/icons/nuvola/16/filesave.png
new file mode 100644
index 0000000000..fd0048ded9
--- /dev/null
+++ b/swat/images/icons/nuvola/16/filesave.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/filesaveas.png b/swat/images/icons/nuvola/16/filesaveas.png
new file mode 100644
index 0000000000..71602bc361
--- /dev/null
+++ b/swat/images/icons/nuvola/16/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/find.png b/swat/images/icons/nuvola/16/find.png
new file mode 100644
index 0000000000..e912de2885
--- /dev/null
+++ b/swat/images/icons/nuvola/16/find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/folder.png b/swat/images/icons/nuvola/16/folder.png
new file mode 100644
index 0000000000..9232553fcd
--- /dev/null
+++ b/swat/images/icons/nuvola/16/folder.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/folder_home.png b/swat/images/icons/nuvola/16/folder_home.png
new file mode 100644
index 0000000000..3525b0b737
--- /dev/null
+++ b/swat/images/icons/nuvola/16/folder_home.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/folder_important.png b/swat/images/icons/nuvola/16/folder_important.png
new file mode 100644
index 0000000000..5cadf9d963
--- /dev/null
+++ b/swat/images/icons/nuvola/16/folder_important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/folder_locked.png b/swat/images/icons/nuvola/16/folder_locked.png
new file mode 100644
index 0000000000..e9c5bfd081
--- /dev/null
+++ b/swat/images/icons/nuvola/16/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/folder_open.png b/swat/images/icons/nuvola/16/folder_open.png
new file mode 100644
index 0000000000..2c55c5636e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/folder_open.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/font.png b/swat/images/icons/nuvola/16/font.png
new file mode 100644
index 0000000000..3f6f3ac411
--- /dev/null
+++ b/swat/images/icons/nuvola/16/font.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/forward.png b/swat/images/icons/nuvola/16/forward.png
new file mode 100644
index 0000000000..3e9562c4a7
--- /dev/null
+++ b/swat/images/icons/nuvola/16/forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/gohome.png b/swat/images/icons/nuvola/16/gohome.png
new file mode 100644
index 0000000000..a93612f174
--- /dev/null
+++ b/swat/images/icons/nuvola/16/gohome.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/help.png b/swat/images/icons/nuvola/16/help.png
new file mode 100644
index 0000000000..28a0f9e5e6
--- /dev/null
+++ b/swat/images/icons/nuvola/16/help.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/history.png b/swat/images/icons/nuvola/16/history.png
new file mode 100644
index 0000000000..8d658e0de0
--- /dev/null
+++ b/swat/images/icons/nuvola/16/history.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/hwinfo.png b/swat/images/icons/nuvola/16/hwinfo.png
new file mode 100644
index 0000000000..1f49a9ff2a
--- /dev/null
+++ b/swat/images/icons/nuvola/16/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/icons.png b/swat/images/icons/nuvola/16/icons.png
new file mode 100644
index 0000000000..df51f18f96
--- /dev/null
+++ b/swat/images/icons/nuvola/16/icons.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/iconthemes.png b/swat/images/icons/nuvola/16/iconthemes.png
new file mode 100644
index 0000000000..a5dcbe0898
--- /dev/null
+++ b/swat/images/icons/nuvola/16/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/important.png b/swat/images/icons/nuvola/16/important.png
new file mode 100644
index 0000000000..2b3d4f05ba
--- /dev/null
+++ b/swat/images/icons/nuvola/16/important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/info.png b/swat/images/icons/nuvola/16/info.png
new file mode 100644
index 0000000000..cfc3089867
--- /dev/null
+++ b/swat/images/icons/nuvola/16/info.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kcoloredit.png b/swat/images/icons/nuvola/16/kcoloredit.png
new file mode 100644
index 0000000000..b2731f6173
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kcontrol.png b/swat/images/icons/nuvola/16/kcontrol.png
new file mode 100644
index 0000000000..f9c503e817
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/keyboard.png b/swat/images/icons/nuvola/16/keyboard.png
new file mode 100644
index 0000000000..726dbe1634
--- /dev/null
+++ b/swat/images/icons/nuvola/16/keyboard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/khelpcenter.png b/swat/images/icons/nuvola/16/khelpcenter.png
new file mode 100644
index 0000000000..096b00c4e8
--- /dev/null
+++ b/swat/images/icons/nuvola/16/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kmix.png b/swat/images/icons/nuvola/16/kmix.png
new file mode 100644
index 0000000000..5e84e63be7
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kmix.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/knotify.png b/swat/images/icons/nuvola/16/knotify.png
new file mode 100644
index 0000000000..e9897eff92
--- /dev/null
+++ b/swat/images/icons/nuvola/16/knotify.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/konqueror.png b/swat/images/icons/nuvola/16/konqueror.png
new file mode 100644
index 0000000000..9baca42751
--- /dev/null
+++ b/swat/images/icons/nuvola/16/konqueror.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kpackage.png b/swat/images/icons/nuvola/16/kpackage.png
new file mode 100644
index 0000000000..fdb3644c6c
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kpackage.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kpaint.png b/swat/images/icons/nuvola/16/kpaint.png
new file mode 100644
index 0000000000..dd0b147ff6
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kpaint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/krita.png b/swat/images/icons/nuvola/16/krita.png
new file mode 100644
index 0000000000..b13dbea1ed
--- /dev/null
+++ b/swat/images/icons/nuvola/16/krita.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/ksnapshot.png b/swat/images/icons/nuvola/16/ksnapshot.png
new file mode 100644
index 0000000000..35394c45b9
--- /dev/null
+++ b/swat/images/icons/nuvola/16/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/ktip.png b/swat/images/icons/nuvola/16/ktip.png
new file mode 100644
index 0000000000..4d63112132
--- /dev/null
+++ b/swat/images/icons/nuvola/16/ktip.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kuser.png b/swat/images/icons/nuvola/16/kuser.png
new file mode 100644
index 0000000000..8e649a80b1
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kuser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/kview.png b/swat/images/icons/nuvola/16/kview.png
new file mode 100644
index 0000000000..1a5d577431
--- /dev/null
+++ b/swat/images/icons/nuvola/16/kview.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/locale.png b/swat/images/icons/nuvola/16/locale.png
new file mode 100644
index 0000000000..a79df4eb5b
--- /dev/null
+++ b/swat/images/icons/nuvola/16/locale.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/looknfeel.png b/swat/images/icons/nuvola/16/looknfeel.png
new file mode 100644
index 0000000000..7d7da74d28
--- /dev/null
+++ b/swat/images/icons/nuvola/16/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_delete.png b/swat/images/icons/nuvola/16/mail_delete.png
new file mode 100644
index 0000000000..dc9c020f7e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_find.png b/swat/images/icons/nuvola/16/mail_find.png
new file mode 100644
index 0000000000..1e230e2e40
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_forward.png b/swat/images/icons/nuvola/16/mail_forward.png
new file mode 100644
index 0000000000..0bb1ee287e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_generic.png b/swat/images/icons/nuvola/16/mail_generic.png
new file mode 100644
index 0000000000..2de442b800
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_new.png b/swat/images/icons/nuvola/16/mail_new.png
new file mode 100644
index 0000000000..7656cbc114
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_new.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_replyall.png b/swat/images/icons/nuvola/16/mail_replyall.png
new file mode 100644
index 0000000000..6e825cc500
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_replyall.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mail_send.png b/swat/images/icons/nuvola/16/mail_send.png
new file mode 100644
index 0000000000..2113017921
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mail_send.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/misc.png b/swat/images/icons/nuvola/16/misc.png
new file mode 100644
index 0000000000..98d4b9969e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/misc.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mozilla.png b/swat/images/icons/nuvola/16/mozilla.png
new file mode 100644
index 0000000000..8e43442adf
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mozilla.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/mycomputer.png b/swat/images/icons/nuvola/16/mycomputer.png
new file mode 100644
index 0000000000..0a929f0383
--- /dev/null
+++ b/swat/images/icons/nuvola/16/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/netscape.png b/swat/images/icons/nuvola/16/netscape.png
new file mode 100644
index 0000000000..4734d0ccdc
--- /dev/null
+++ b/swat/images/icons/nuvola/16/netscape.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/network.png b/swat/images/icons/nuvola/16/network.png
new file mode 100644
index 0000000000..dd5ba69e52
--- /dev/null
+++ b/swat/images/icons/nuvola/16/network.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/next.png b/swat/images/icons/nuvola/16/next.png
new file mode 100644
index 0000000000..24a89b5434
--- /dev/null
+++ b/swat/images/icons/nuvola/16/next.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/no.png b/swat/images/icons/nuvola/16/no.png
new file mode 100644
index 0000000000..37a7c74977
--- /dev/null
+++ b/swat/images/icons/nuvola/16/no.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/ok.png b/swat/images/icons/nuvola/16/ok.png
new file mode 100644
index 0000000000..5b0f6a6174
--- /dev/null
+++ b/swat/images/icons/nuvola/16/ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/opera.png b/swat/images/icons/nuvola/16/opera.png
new file mode 100644
index 0000000000..963449bb90
--- /dev/null
+++ b/swat/images/icons/nuvola/16/opera.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/package.png b/swat/images/icons/nuvola/16/package.png
new file mode 100644
index 0000000000..618d744c28
--- /dev/null
+++ b/swat/images/icons/nuvola/16/package.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/password.png b/swat/images/icons/nuvola/16/password.png
new file mode 100644
index 0000000000..5656824986
--- /dev/null
+++ b/swat/images/icons/nuvola/16/password.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/pipe.png b/swat/images/icons/nuvola/16/pipe.png
new file mode 100644
index 0000000000..5fe640131e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/pipe.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/previous.png b/swat/images/icons/nuvola/16/previous.png
new file mode 100644
index 0000000000..6992aa7edc
--- /dev/null
+++ b/swat/images/icons/nuvola/16/previous.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/realplayer.png b/swat/images/icons/nuvola/16/realplayer.png
new file mode 100644
index 0000000000..07b1e86482
--- /dev/null
+++ b/swat/images/icons/nuvola/16/realplayer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/redo.png b/swat/images/icons/nuvola/16/redo.png
new file mode 100644
index 0000000000..f1e45cff93
--- /dev/null
+++ b/swat/images/icons/nuvola/16/redo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/reload.png b/swat/images/icons/nuvola/16/reload.png
new file mode 100644
index 0000000000..1c026d32c3
--- /dev/null
+++ b/swat/images/icons/nuvola/16/reload.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/run.png b/swat/images/icons/nuvola/16/run.png
new file mode 100644
index 0000000000..751424557e
--- /dev/null
+++ b/swat/images/icons/nuvola/16/run.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/services.png b/swat/images/icons/nuvola/16/services.png
new file mode 100644
index 0000000000..2a24b7e7f6
--- /dev/null
+++ b/swat/images/icons/nuvola/16/services.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/socket.png b/swat/images/icons/nuvola/16/socket.png
new file mode 100644
index 0000000000..3125ef8049
--- /dev/null
+++ b/swat/images/icons/nuvola/16/socket.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/spellcheck.png b/swat/images/icons/nuvola/16/spellcheck.png
new file mode 100644
index 0000000000..b044b8cfb0
--- /dev/null
+++ b/swat/images/icons/nuvola/16/spellcheck.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/stop.png b/swat/images/icons/nuvola/16/stop.png
new file mode 100644
index 0000000000..dfb80b2e58
--- /dev/null
+++ b/swat/images/icons/nuvola/16/stop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/style.png b/swat/images/icons/nuvola/16/style.png
new file mode 100644
index 0000000000..d5210b4981
--- /dev/null
+++ b/swat/images/icons/nuvola/16/style.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/stylesheet.png b/swat/images/icons/nuvola/16/stylesheet.png
new file mode 100644
index 0000000000..f7f905706a
--- /dev/null
+++ b/swat/images/icons/nuvola/16/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/thumbnail.png b/swat/images/icons/nuvola/16/thumbnail.png
new file mode 100644
index 0000000000..91adff8dee
--- /dev/null
+++ b/swat/images/icons/nuvola/16/thumbnail.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/up.png b/swat/images/icons/nuvola/16/up.png
new file mode 100644
index 0000000000..184c118b63
--- /dev/null
+++ b/swat/images/icons/nuvola/16/up.png
Binary files differ
diff --git a/swat/images/icons/nuvola/16/wizard.png b/swat/images/icons/nuvola/16/wizard.png
new file mode 100644
index 0000000000..c37091c035
--- /dev/null
+++ b/swat/images/icons/nuvola/16/wizard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/access.png b/swat/images/icons/nuvola/22/access.png
new file mode 100644
index 0000000000..7ad09d5491
--- /dev/null
+++ b/swat/images/icons/nuvola/22/access.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/agent.png b/swat/images/icons/nuvola/22/agent.png
new file mode 100644
index 0000000000..ac34011bbe
--- /dev/null
+++ b/swat/images/icons/nuvola/22/agent.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/apply.png b/swat/images/icons/nuvola/22/apply.png
new file mode 100644
index 0000000000..2166fdffdf
--- /dev/null
+++ b/swat/images/icons/nuvola/22/apply.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/back.png b/swat/images/icons/nuvola/22/back.png
new file mode 100644
index 0000000000..f3925962f4
--- /dev/null
+++ b/swat/images/icons/nuvola/22/back.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/background.png b/swat/images/icons/nuvola/22/background.png
new file mode 100644
index 0000000000..da010da0a9
--- /dev/null
+++ b/swat/images/icons/nuvola/22/background.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/bell.png b/swat/images/icons/nuvola/22/bell.png
new file mode 100644
index 0000000000..3fddea5464
--- /dev/null
+++ b/swat/images/icons/nuvola/22/bell.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/bookmark.png b/swat/images/icons/nuvola/22/bookmark.png
new file mode 100644
index 0000000000..51fb06bf20
--- /dev/null
+++ b/swat/images/icons/nuvola/22/bookmark.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/browser.png b/swat/images/icons/nuvola/22/browser.png
new file mode 100644
index 0000000000..88d8e31ea6
--- /dev/null
+++ b/swat/images/icons/nuvola/22/browser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/button_cancel.png b/swat/images/icons/nuvola/22/button_cancel.png
new file mode 100644
index 0000000000..816e06ace8
--- /dev/null
+++ b/swat/images/icons/nuvola/22/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/button_ok.png b/swat/images/icons/nuvola/22/button_ok.png
new file mode 100644
index 0000000000..2166fdffdf
--- /dev/null
+++ b/swat/images/icons/nuvola/22/button_ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/cache.png b/swat/images/icons/nuvola/22/cache.png
new file mode 100644
index 0000000000..f83e9b70f5
--- /dev/null
+++ b/swat/images/icons/nuvola/22/cache.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/clock.png b/swat/images/icons/nuvola/22/clock.png
new file mode 100644
index 0000000000..885715309f
--- /dev/null
+++ b/swat/images/icons/nuvola/22/clock.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/colorize.png b/swat/images/icons/nuvola/22/colorize.png
new file mode 100644
index 0000000000..ed4ad654f2
--- /dev/null
+++ b/swat/images/icons/nuvola/22/colorize.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/colors.png b/swat/images/icons/nuvola/22/colors.png
new file mode 100644
index 0000000000..4b925cd294
--- /dev/null
+++ b/swat/images/icons/nuvola/22/colors.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/colorset.png b/swat/images/icons/nuvola/22/colorset.png
new file mode 100644
index 0000000000..24cec5aa6f
--- /dev/null
+++ b/swat/images/icons/nuvola/22/colorset.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/configure.png b/swat/images/icons/nuvola/22/configure.png
new file mode 100644
index 0000000000..9e205a0e7a
--- /dev/null
+++ b/swat/images/icons/nuvola/22/configure.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/cookie.png b/swat/images/icons/nuvola/22/cookie.png
new file mode 100644
index 0000000000..f9897b7031
--- /dev/null
+++ b/swat/images/icons/nuvola/22/cookie.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/core.png b/swat/images/icons/nuvola/22/core.png
new file mode 100644
index 0000000000..f444ab76c4
--- /dev/null
+++ b/swat/images/icons/nuvola/22/core.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/date.png b/swat/images/icons/nuvola/22/date.png
new file mode 100644
index 0000000000..1b7fd5c4d3
--- /dev/null
+++ b/swat/images/icons/nuvola/22/date.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/decrypted.png b/swat/images/icons/nuvola/22/decrypted.png
new file mode 100644
index 0000000000..bdac7c1a52
--- /dev/null
+++ b/swat/images/icons/nuvola/22/decrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/desktop.png b/swat/images/icons/nuvola/22/desktop.png
new file mode 100644
index 0000000000..c78e07ebee
--- /dev/null
+++ b/swat/images/icons/nuvola/22/desktop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/display.png b/swat/images/icons/nuvola/22/display.png
new file mode 100644
index 0000000000..2e64d1821a
--- /dev/null
+++ b/swat/images/icons/nuvola/22/display.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/document.png b/swat/images/icons/nuvola/22/document.png
new file mode 100644
index 0000000000..1a81ef642c
--- /dev/null
+++ b/swat/images/icons/nuvola/22/document.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/down.png b/swat/images/icons/nuvola/22/down.png
new file mode 100644
index 0000000000..0733092bdd
--- /dev/null
+++ b/swat/images/icons/nuvola/22/down.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/edit.png b/swat/images/icons/nuvola/22/edit.png
new file mode 100644
index 0000000000..de1659ef22
--- /dev/null
+++ b/swat/images/icons/nuvola/22/edit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/editcopy.png b/swat/images/icons/nuvola/22/editcopy.png
new file mode 100644
index 0000000000..df03cf3f39
--- /dev/null
+++ b/swat/images/icons/nuvola/22/editcopy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/editcut.png b/swat/images/icons/nuvola/22/editcut.png
new file mode 100644
index 0000000000..9845a4268f
--- /dev/null
+++ b/swat/images/icons/nuvola/22/editcut.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/editdelete.png b/swat/images/icons/nuvola/22/editdelete.png
new file mode 100644
index 0000000000..51839a2f44
--- /dev/null
+++ b/swat/images/icons/nuvola/22/editdelete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/editpaste.png b/swat/images/icons/nuvola/22/editpaste.png
new file mode 100644
index 0000000000..8b7c30068c
--- /dev/null
+++ b/swat/images/icons/nuvola/22/editpaste.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/edittrash.png b/swat/images/icons/nuvola/22/edittrash.png
new file mode 100644
index 0000000000..600a9a93cd
--- /dev/null
+++ b/swat/images/icons/nuvola/22/edittrash.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/email.png b/swat/images/icons/nuvola/22/email.png
new file mode 100644
index 0000000000..789a5ea3c1
--- /dev/null
+++ b/swat/images/icons/nuvola/22/email.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/empty.png b/swat/images/icons/nuvola/22/empty.png
new file mode 100644
index 0000000000..bcbf0b4da6
--- /dev/null
+++ b/swat/images/icons/nuvola/22/empty.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/encrypted.png b/swat/images/icons/nuvola/22/encrypted.png
new file mode 100644
index 0000000000..4b637f9e31
--- /dev/null
+++ b/swat/images/icons/nuvola/22/encrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/energy.png b/swat/images/icons/nuvola/22/energy.png
new file mode 100644
index 0000000000..06502e25ba
--- /dev/null
+++ b/swat/images/icons/nuvola/22/energy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/error.png b/swat/images/icons/nuvola/22/error.png
new file mode 100644
index 0000000000..f089ffb886
--- /dev/null
+++ b/swat/images/icons/nuvola/22/error.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/exec.png b/swat/images/icons/nuvola/22/exec.png
new file mode 100644
index 0000000000..a861875719
--- /dev/null
+++ b/swat/images/icons/nuvola/22/exec.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/filenew.png b/swat/images/icons/nuvola/22/filenew.png
new file mode 100644
index 0000000000..6e2700ad91
--- /dev/null
+++ b/swat/images/icons/nuvola/22/filenew.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/fileopen.png b/swat/images/icons/nuvola/22/fileopen.png
new file mode 100644
index 0000000000..61c388cf2d
--- /dev/null
+++ b/swat/images/icons/nuvola/22/fileopen.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/fileprint.png b/swat/images/icons/nuvola/22/fileprint.png
new file mode 100644
index 0000000000..71831093d5
--- /dev/null
+++ b/swat/images/icons/nuvola/22/fileprint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/filesave.png b/swat/images/icons/nuvola/22/filesave.png
new file mode 100644
index 0000000000..74b37b0b51
--- /dev/null
+++ b/swat/images/icons/nuvola/22/filesave.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/filesaveas.png b/swat/images/icons/nuvola/22/filesaveas.png
new file mode 100644
index 0000000000..4321ca76bd
--- /dev/null
+++ b/swat/images/icons/nuvola/22/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/find.png b/swat/images/icons/nuvola/22/find.png
new file mode 100644
index 0000000000..12f7ca853e
--- /dev/null
+++ b/swat/images/icons/nuvola/22/find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/folder.png b/swat/images/icons/nuvola/22/folder.png
new file mode 100644
index 0000000000..8b020e5fd1
--- /dev/null
+++ b/swat/images/icons/nuvola/22/folder.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/folder_home.png b/swat/images/icons/nuvola/22/folder_home.png
new file mode 100644
index 0000000000..a4b9860f38
--- /dev/null
+++ b/swat/images/icons/nuvola/22/folder_home.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/folder_important.png b/swat/images/icons/nuvola/22/folder_important.png
new file mode 100644
index 0000000000..39e944d61e
--- /dev/null
+++ b/swat/images/icons/nuvola/22/folder_important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/folder_locked.png b/swat/images/icons/nuvola/22/folder_locked.png
new file mode 100644
index 0000000000..c15328d21c
--- /dev/null
+++ b/swat/images/icons/nuvola/22/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/folder_open.png b/swat/images/icons/nuvola/22/folder_open.png
new file mode 100644
index 0000000000..a801665fd5
--- /dev/null
+++ b/swat/images/icons/nuvola/22/folder_open.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/font.png b/swat/images/icons/nuvola/22/font.png
new file mode 100644
index 0000000000..199eb87070
--- /dev/null
+++ b/swat/images/icons/nuvola/22/font.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/forward.png b/swat/images/icons/nuvola/22/forward.png
new file mode 100644
index 0000000000..96ae3a5f63
--- /dev/null
+++ b/swat/images/icons/nuvola/22/forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/gohome.png b/swat/images/icons/nuvola/22/gohome.png
new file mode 100644
index 0000000000..74c6933b44
--- /dev/null
+++ b/swat/images/icons/nuvola/22/gohome.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/help.png b/swat/images/icons/nuvola/22/help.png
new file mode 100644
index 0000000000..8aef08eec3
--- /dev/null
+++ b/swat/images/icons/nuvola/22/help.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/history.png b/swat/images/icons/nuvola/22/history.png
new file mode 100644
index 0000000000..d7b86ef2a5
--- /dev/null
+++ b/swat/images/icons/nuvola/22/history.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/hwinfo.png b/swat/images/icons/nuvola/22/hwinfo.png
new file mode 100644
index 0000000000..312a4ea1b4
--- /dev/null
+++ b/swat/images/icons/nuvola/22/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/icons.png b/swat/images/icons/nuvola/22/icons.png
new file mode 100644
index 0000000000..2ac2076e49
--- /dev/null
+++ b/swat/images/icons/nuvola/22/icons.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/iconthemes.png b/swat/images/icons/nuvola/22/iconthemes.png
new file mode 100644
index 0000000000..9c5b717106
--- /dev/null
+++ b/swat/images/icons/nuvola/22/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/important.png b/swat/images/icons/nuvola/22/important.png
new file mode 100644
index 0000000000..cc240aa515
--- /dev/null
+++ b/swat/images/icons/nuvola/22/important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/info.png b/swat/images/icons/nuvola/22/info.png
new file mode 100644
index 0000000000..c337112a81
--- /dev/null
+++ b/swat/images/icons/nuvola/22/info.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kcoloredit.png b/swat/images/icons/nuvola/22/kcoloredit.png
new file mode 100644
index 0000000000..b6b692afcf
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kcontrol.png b/swat/images/icons/nuvola/22/kcontrol.png
new file mode 100644
index 0000000000..e4d376d853
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/keyboard.png b/swat/images/icons/nuvola/22/keyboard.png
new file mode 100644
index 0000000000..fc1c3b43fb
--- /dev/null
+++ b/swat/images/icons/nuvola/22/keyboard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/khelpcenter.png b/swat/images/icons/nuvola/22/khelpcenter.png
new file mode 100644
index 0000000000..37cdb2777e
--- /dev/null
+++ b/swat/images/icons/nuvola/22/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kmix.png b/swat/images/icons/nuvola/22/kmix.png
new file mode 100644
index 0000000000..a60f1b4d06
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kmix.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/knotify.png b/swat/images/icons/nuvola/22/knotify.png
new file mode 100644
index 0000000000..6c76e4a6ab
--- /dev/null
+++ b/swat/images/icons/nuvola/22/knotify.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/konqueror.png b/swat/images/icons/nuvola/22/konqueror.png
new file mode 100644
index 0000000000..dcc74ecae7
--- /dev/null
+++ b/swat/images/icons/nuvola/22/konqueror.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kpackage.png b/swat/images/icons/nuvola/22/kpackage.png
new file mode 100644
index 0000000000..006392c8a9
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kpackage.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kpaint.png b/swat/images/icons/nuvola/22/kpaint.png
new file mode 100644
index 0000000000..f20282bf6e
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kpaint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/krita.png b/swat/images/icons/nuvola/22/krita.png
new file mode 100644
index 0000000000..e678d47e7a
--- /dev/null
+++ b/swat/images/icons/nuvola/22/krita.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/ksnapshot.png b/swat/images/icons/nuvola/22/ksnapshot.png
new file mode 100644
index 0000000000..1fb3e4c922
--- /dev/null
+++ b/swat/images/icons/nuvola/22/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/ktip.png b/swat/images/icons/nuvola/22/ktip.png
new file mode 100644
index 0000000000..d5eac1c587
--- /dev/null
+++ b/swat/images/icons/nuvola/22/ktip.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kuser.png b/swat/images/icons/nuvola/22/kuser.png
new file mode 100644
index 0000000000..c5c8dc6d64
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kuser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/kview.png b/swat/images/icons/nuvola/22/kview.png
new file mode 100644
index 0000000000..9d7aeb86a5
--- /dev/null
+++ b/swat/images/icons/nuvola/22/kview.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/locale.png b/swat/images/icons/nuvola/22/locale.png
new file mode 100644
index 0000000000..bee7d4064a
--- /dev/null
+++ b/swat/images/icons/nuvola/22/locale.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_delete.png b/swat/images/icons/nuvola/22/mail_delete.png
new file mode 100644
index 0000000000..035a9f062c
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_find.png b/swat/images/icons/nuvola/22/mail_find.png
new file mode 100644
index 0000000000..76af932330
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_forward.png b/swat/images/icons/nuvola/22/mail_forward.png
new file mode 100644
index 0000000000..5086ef86ab
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_generic.png b/swat/images/icons/nuvola/22/mail_generic.png
new file mode 100644
index 0000000000..512378508b
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_new.png b/swat/images/icons/nuvola/22/mail_new.png
new file mode 100644
index 0000000000..969fec5b57
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_new.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_replyall.png b/swat/images/icons/nuvola/22/mail_replyall.png
new file mode 100644
index 0000000000..6ec45ee840
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_replyall.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mail_send.png b/swat/images/icons/nuvola/22/mail_send.png
new file mode 100644
index 0000000000..4b72194e0c
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mail_send.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/misc.png b/swat/images/icons/nuvola/22/misc.png
new file mode 100644
index 0000000000..625285f0bb
--- /dev/null
+++ b/swat/images/icons/nuvola/22/misc.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/mycomputer.png b/swat/images/icons/nuvola/22/mycomputer.png
new file mode 100644
index 0000000000..c52d85af68
--- /dev/null
+++ b/swat/images/icons/nuvola/22/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/netscape.png b/swat/images/icons/nuvola/22/netscape.png
new file mode 100644
index 0000000000..00bf497dfb
--- /dev/null
+++ b/swat/images/icons/nuvola/22/netscape.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/network.png b/swat/images/icons/nuvola/22/network.png
new file mode 100644
index 0000000000..1929fe17c5
--- /dev/null
+++ b/swat/images/icons/nuvola/22/network.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/next.png b/swat/images/icons/nuvola/22/next.png
new file mode 100644
index 0000000000..95fc56834d
--- /dev/null
+++ b/swat/images/icons/nuvola/22/next.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/no.png b/swat/images/icons/nuvola/22/no.png
new file mode 100644
index 0000000000..df63d75073
--- /dev/null
+++ b/swat/images/icons/nuvola/22/no.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/ok.png b/swat/images/icons/nuvola/22/ok.png
new file mode 100644
index 0000000000..2166fdffdf
--- /dev/null
+++ b/swat/images/icons/nuvola/22/ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/opera.png b/swat/images/icons/nuvola/22/opera.png
new file mode 100644
index 0000000000..ce74c6d33e
--- /dev/null
+++ b/swat/images/icons/nuvola/22/opera.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/password.png b/swat/images/icons/nuvola/22/password.png
new file mode 100644
index 0000000000..96fb4cd564
--- /dev/null
+++ b/swat/images/icons/nuvola/22/password.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/pipe.png b/swat/images/icons/nuvola/22/pipe.png
new file mode 100644
index 0000000000..439e5c5fd7
--- /dev/null
+++ b/swat/images/icons/nuvola/22/pipe.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/previous.png b/swat/images/icons/nuvola/22/previous.png
new file mode 100644
index 0000000000..77d0bec5ca
--- /dev/null
+++ b/swat/images/icons/nuvola/22/previous.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/realplayer.png b/swat/images/icons/nuvola/22/realplayer.png
new file mode 100644
index 0000000000..162136f922
--- /dev/null
+++ b/swat/images/icons/nuvola/22/realplayer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/redo.png b/swat/images/icons/nuvola/22/redo.png
new file mode 100644
index 0000000000..7067f582e0
--- /dev/null
+++ b/swat/images/icons/nuvola/22/redo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/reload.png b/swat/images/icons/nuvola/22/reload.png
new file mode 100644
index 0000000000..0d1ae45626
--- /dev/null
+++ b/swat/images/icons/nuvola/22/reload.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/run.png b/swat/images/icons/nuvola/22/run.png
new file mode 100644
index 0000000000..d108327435
--- /dev/null
+++ b/swat/images/icons/nuvola/22/run.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/services.png b/swat/images/icons/nuvola/22/services.png
new file mode 100644
index 0000000000..d1348ac572
--- /dev/null
+++ b/swat/images/icons/nuvola/22/services.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/socket.png b/swat/images/icons/nuvola/22/socket.png
new file mode 100644
index 0000000000..ddf5d6a63e
--- /dev/null
+++ b/swat/images/icons/nuvola/22/socket.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/spellcheck.png b/swat/images/icons/nuvola/22/spellcheck.png
new file mode 100644
index 0000000000..45fe909a89
--- /dev/null
+++ b/swat/images/icons/nuvola/22/spellcheck.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/stop.png b/swat/images/icons/nuvola/22/stop.png
new file mode 100644
index 0000000000..da1e944263
--- /dev/null
+++ b/swat/images/icons/nuvola/22/stop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/style.png b/swat/images/icons/nuvola/22/style.png
new file mode 100644
index 0000000000..0bef0e59eb
--- /dev/null
+++ b/swat/images/icons/nuvola/22/style.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/stylesheet.png b/swat/images/icons/nuvola/22/stylesheet.png
new file mode 100644
index 0000000000..5f5a4de57a
--- /dev/null
+++ b/swat/images/icons/nuvola/22/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/thumbnail.png b/swat/images/icons/nuvola/22/thumbnail.png
new file mode 100644
index 0000000000..e8056ca173
--- /dev/null
+++ b/swat/images/icons/nuvola/22/thumbnail.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/up.png b/swat/images/icons/nuvola/22/up.png
new file mode 100644
index 0000000000..7475f6aafc
--- /dev/null
+++ b/swat/images/icons/nuvola/22/up.png
Binary files differ
diff --git a/swat/images/icons/nuvola/22/wizard.png b/swat/images/icons/nuvola/22/wizard.png
new file mode 100644
index 0000000000..ad4436d1ed
--- /dev/null
+++ b/swat/images/icons/nuvola/22/wizard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/access.png b/swat/images/icons/nuvola/32/access.png
new file mode 100644
index 0000000000..dfad3c507e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/access.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/agent.png b/swat/images/icons/nuvola/32/agent.png
new file mode 100644
index 0000000000..80e060dbf6
--- /dev/null
+++ b/swat/images/icons/nuvola/32/agent.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/apply.png b/swat/images/icons/nuvola/32/apply.png
new file mode 100644
index 0000000000..592ce6f4a5
--- /dev/null
+++ b/swat/images/icons/nuvola/32/apply.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/back.png b/swat/images/icons/nuvola/32/back.png
new file mode 100644
index 0000000000..2568b59b32
--- /dev/null
+++ b/swat/images/icons/nuvola/32/back.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/background.png b/swat/images/icons/nuvola/32/background.png
new file mode 100644
index 0000000000..e292b875d2
--- /dev/null
+++ b/swat/images/icons/nuvola/32/background.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/bell.png b/swat/images/icons/nuvola/32/bell.png
new file mode 100644
index 0000000000..32b6d89521
--- /dev/null
+++ b/swat/images/icons/nuvola/32/bell.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/bookmark.png b/swat/images/icons/nuvola/32/bookmark.png
new file mode 100644
index 0000000000..6cccfd986b
--- /dev/null
+++ b/swat/images/icons/nuvola/32/bookmark.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/browser.png b/swat/images/icons/nuvola/32/browser.png
new file mode 100644
index 0000000000..e164a9f332
--- /dev/null
+++ b/swat/images/icons/nuvola/32/browser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/button_cancel.png b/swat/images/icons/nuvola/32/button_cancel.png
new file mode 100644
index 0000000000..2d5e260a5f
--- /dev/null
+++ b/swat/images/icons/nuvola/32/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/button_ok.png b/swat/images/icons/nuvola/32/button_ok.png
new file mode 100644
index 0000000000..592ce6f4a5
--- /dev/null
+++ b/swat/images/icons/nuvola/32/button_ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/cache.png b/swat/images/icons/nuvola/32/cache.png
new file mode 100644
index 0000000000..ff4298bdf1
--- /dev/null
+++ b/swat/images/icons/nuvola/32/cache.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/clock.png b/swat/images/icons/nuvola/32/clock.png
new file mode 100644
index 0000000000..1836149e80
--- /dev/null
+++ b/swat/images/icons/nuvola/32/clock.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/colorize.png b/swat/images/icons/nuvola/32/colorize.png
new file mode 100644
index 0000000000..38cb497923
--- /dev/null
+++ b/swat/images/icons/nuvola/32/colorize.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/colors.png b/swat/images/icons/nuvola/32/colors.png
new file mode 100644
index 0000000000..212adb0b41
--- /dev/null
+++ b/swat/images/icons/nuvola/32/colors.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/colorset.png b/swat/images/icons/nuvola/32/colorset.png
new file mode 100644
index 0000000000..bab142f19f
--- /dev/null
+++ b/swat/images/icons/nuvola/32/colorset.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/configure.png b/swat/images/icons/nuvola/32/configure.png
new file mode 100644
index 0000000000..feebf2bdbe
--- /dev/null
+++ b/swat/images/icons/nuvola/32/configure.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/contents.png b/swat/images/icons/nuvola/32/contents.png
new file mode 100644
index 0000000000..d3ba528bd0
--- /dev/null
+++ b/swat/images/icons/nuvola/32/contents.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/cookie.png b/swat/images/icons/nuvola/32/cookie.png
new file mode 100644
index 0000000000..db4bd615ec
--- /dev/null
+++ b/swat/images/icons/nuvola/32/cookie.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/core.png b/swat/images/icons/nuvola/32/core.png
new file mode 100644
index 0000000000..d8471dc06e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/core.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/date.png b/swat/images/icons/nuvola/32/date.png
new file mode 100644
index 0000000000..41fa2acf77
--- /dev/null
+++ b/swat/images/icons/nuvola/32/date.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/decrypted.png b/swat/images/icons/nuvola/32/decrypted.png
new file mode 100644
index 0000000000..2b49969a53
--- /dev/null
+++ b/swat/images/icons/nuvola/32/decrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/desktop.png b/swat/images/icons/nuvola/32/desktop.png
new file mode 100644
index 0000000000..9b993a5ebb
--- /dev/null
+++ b/swat/images/icons/nuvola/32/desktop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/display.png b/swat/images/icons/nuvola/32/display.png
new file mode 100644
index 0000000000..30f1dfa03d
--- /dev/null
+++ b/swat/images/icons/nuvola/32/display.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/document.png b/swat/images/icons/nuvola/32/document.png
new file mode 100644
index 0000000000..ac2ff05c76
--- /dev/null
+++ b/swat/images/icons/nuvola/32/document.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/down.png b/swat/images/icons/nuvola/32/down.png
new file mode 100644
index 0000000000..5cbe6bb695
--- /dev/null
+++ b/swat/images/icons/nuvola/32/down.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/edit.png b/swat/images/icons/nuvola/32/edit.png
new file mode 100644
index 0000000000..f3ec32ed82
--- /dev/null
+++ b/swat/images/icons/nuvola/32/edit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/editcopy.png b/swat/images/icons/nuvola/32/editcopy.png
new file mode 100644
index 0000000000..18627b7480
--- /dev/null
+++ b/swat/images/icons/nuvola/32/editcopy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/editcut.png b/swat/images/icons/nuvola/32/editcut.png
new file mode 100644
index 0000000000..ad6fbb15e4
--- /dev/null
+++ b/swat/images/icons/nuvola/32/editcut.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/editdelete.png b/swat/images/icons/nuvola/32/editdelete.png
new file mode 100644
index 0000000000..ab71fae93f
--- /dev/null
+++ b/swat/images/icons/nuvola/32/editdelete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/editpaste.png b/swat/images/icons/nuvola/32/editpaste.png
new file mode 100644
index 0000000000..9e224a9ec4
--- /dev/null
+++ b/swat/images/icons/nuvola/32/editpaste.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/edittrash.png b/swat/images/icons/nuvola/32/edittrash.png
new file mode 100644
index 0000000000..6170d86cbb
--- /dev/null
+++ b/swat/images/icons/nuvola/32/edittrash.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/email.png b/swat/images/icons/nuvola/32/email.png
new file mode 100644
index 0000000000..637920745e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/email.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/empty.png b/swat/images/icons/nuvola/32/empty.png
new file mode 100644
index 0000000000..b5cb3ae95c
--- /dev/null
+++ b/swat/images/icons/nuvola/32/empty.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/encrypted.png b/swat/images/icons/nuvola/32/encrypted.png
new file mode 100644
index 0000000000..4ae41eeef4
--- /dev/null
+++ b/swat/images/icons/nuvola/32/encrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/energy.png b/swat/images/icons/nuvola/32/energy.png
new file mode 100644
index 0000000000..a530b1ba7c
--- /dev/null
+++ b/swat/images/icons/nuvola/32/energy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/error.png b/swat/images/icons/nuvola/32/error.png
new file mode 100644
index 0000000000..538cb9039f
--- /dev/null
+++ b/swat/images/icons/nuvola/32/error.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/exec.png b/swat/images/icons/nuvola/32/exec.png
new file mode 100644
index 0000000000..1780eafc6c
--- /dev/null
+++ b/swat/images/icons/nuvola/32/exec.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/filenew.png b/swat/images/icons/nuvola/32/filenew.png
new file mode 100644
index 0000000000..a71c1a254e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/filenew.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/fileopen.png b/swat/images/icons/nuvola/32/fileopen.png
new file mode 100644
index 0000000000..77c992f5aa
--- /dev/null
+++ b/swat/images/icons/nuvola/32/fileopen.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/fileprint.png b/swat/images/icons/nuvola/32/fileprint.png
new file mode 100644
index 0000000000..a510ec6558
--- /dev/null
+++ b/swat/images/icons/nuvola/32/fileprint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/filesave.png b/swat/images/icons/nuvola/32/filesave.png
new file mode 100644
index 0000000000..ae13a151d5
--- /dev/null
+++ b/swat/images/icons/nuvola/32/filesave.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/filesaveas.png b/swat/images/icons/nuvola/32/filesaveas.png
new file mode 100644
index 0000000000..55ca1ec25e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/find.png b/swat/images/icons/nuvola/32/find.png
new file mode 100644
index 0000000000..f1ad60c860
--- /dev/null
+++ b/swat/images/icons/nuvola/32/find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/folder.png b/swat/images/icons/nuvola/32/folder.png
new file mode 100644
index 0000000000..bd433f4bfd
--- /dev/null
+++ b/swat/images/icons/nuvola/32/folder.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/folder_home.png b/swat/images/icons/nuvola/32/folder_home.png
new file mode 100644
index 0000000000..0094f836cd
--- /dev/null
+++ b/swat/images/icons/nuvola/32/folder_home.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/folder_important.png b/swat/images/icons/nuvola/32/folder_important.png
new file mode 100644
index 0000000000..3f104626a6
--- /dev/null
+++ b/swat/images/icons/nuvola/32/folder_important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/folder_locked.png b/swat/images/icons/nuvola/32/folder_locked.png
new file mode 100644
index 0000000000..e540a90261
--- /dev/null
+++ b/swat/images/icons/nuvola/32/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/folder_open.png b/swat/images/icons/nuvola/32/folder_open.png
new file mode 100644
index 0000000000..376aa6ec18
--- /dev/null
+++ b/swat/images/icons/nuvola/32/folder_open.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/font.png b/swat/images/icons/nuvola/32/font.png
new file mode 100644
index 0000000000..2cf6665245
--- /dev/null
+++ b/swat/images/icons/nuvola/32/font.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/forward.png b/swat/images/icons/nuvola/32/forward.png
new file mode 100644
index 0000000000..3453bde583
--- /dev/null
+++ b/swat/images/icons/nuvola/32/forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/gohome.png b/swat/images/icons/nuvola/32/gohome.png
new file mode 100644
index 0000000000..86ea229cfd
--- /dev/null
+++ b/swat/images/icons/nuvola/32/gohome.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/help.png b/swat/images/icons/nuvola/32/help.png
new file mode 100644
index 0000000000..d56ba2c244
--- /dev/null
+++ b/swat/images/icons/nuvola/32/help.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/history.png b/swat/images/icons/nuvola/32/history.png
new file mode 100644
index 0000000000..1f36acaa16
--- /dev/null
+++ b/swat/images/icons/nuvola/32/history.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/hwinfo.png b/swat/images/icons/nuvola/32/hwinfo.png
new file mode 100644
index 0000000000..41d50b7a96
--- /dev/null
+++ b/swat/images/icons/nuvola/32/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/icons.png b/swat/images/icons/nuvola/32/icons.png
new file mode 100644
index 0000000000..86cd87bde4
--- /dev/null
+++ b/swat/images/icons/nuvola/32/icons.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/iconthemes.png b/swat/images/icons/nuvola/32/iconthemes.png
new file mode 100644
index 0000000000..6345beab59
--- /dev/null
+++ b/swat/images/icons/nuvola/32/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/important.png b/swat/images/icons/nuvola/32/important.png
new file mode 100644
index 0000000000..284e5e32b8
--- /dev/null
+++ b/swat/images/icons/nuvola/32/important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/info.png b/swat/images/icons/nuvola/32/info.png
new file mode 100644
index 0000000000..a4e834f867
--- /dev/null
+++ b/swat/images/icons/nuvola/32/info.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kcoloredit.png b/swat/images/icons/nuvola/32/kcoloredit.png
new file mode 100644
index 0000000000..48102de844
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kcontrol.png b/swat/images/icons/nuvola/32/kcontrol.png
new file mode 100644
index 0000000000..6f3b1f49d7
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/keyboard.png b/swat/images/icons/nuvola/32/keyboard.png
new file mode 100644
index 0000000000..686964f4a6
--- /dev/null
+++ b/swat/images/icons/nuvola/32/keyboard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/khelpcenter.png b/swat/images/icons/nuvola/32/khelpcenter.png
new file mode 100644
index 0000000000..c59d5a0035
--- /dev/null
+++ b/swat/images/icons/nuvola/32/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kmix.png b/swat/images/icons/nuvola/32/kmix.png
new file mode 100644
index 0000000000..2c8b5be9a0
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kmix.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/knotify.png b/swat/images/icons/nuvola/32/knotify.png
new file mode 100644
index 0000000000..bfbc795861
--- /dev/null
+++ b/swat/images/icons/nuvola/32/knotify.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/konqueror.png b/swat/images/icons/nuvola/32/konqueror.png
new file mode 100644
index 0000000000..14f3235794
--- /dev/null
+++ b/swat/images/icons/nuvola/32/konqueror.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kpackage.png b/swat/images/icons/nuvola/32/kpackage.png
new file mode 100644
index 0000000000..2aabd0a24a
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kpackage.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kpaint.png b/swat/images/icons/nuvola/32/kpaint.png
new file mode 100644
index 0000000000..9ec1a85d8d
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kpaint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/krita.png b/swat/images/icons/nuvola/32/krita.png
new file mode 100644
index 0000000000..455018c086
--- /dev/null
+++ b/swat/images/icons/nuvola/32/krita.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/ksnapshot.png b/swat/images/icons/nuvola/32/ksnapshot.png
new file mode 100644
index 0000000000..267add622c
--- /dev/null
+++ b/swat/images/icons/nuvola/32/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/ktip.png b/swat/images/icons/nuvola/32/ktip.png
new file mode 100644
index 0000000000..9261b963cd
--- /dev/null
+++ b/swat/images/icons/nuvola/32/ktip.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kuser.png b/swat/images/icons/nuvola/32/kuser.png
new file mode 100644
index 0000000000..b368c3d82f
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kuser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/kview.png b/swat/images/icons/nuvola/32/kview.png
new file mode 100644
index 0000000000..341752c820
--- /dev/null
+++ b/swat/images/icons/nuvola/32/kview.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/locale.png b/swat/images/icons/nuvola/32/locale.png
new file mode 100644
index 0000000000..91817460fd
--- /dev/null
+++ b/swat/images/icons/nuvola/32/locale.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/looknfeel.png b/swat/images/icons/nuvola/32/looknfeel.png
new file mode 100644
index 0000000000..377440b075
--- /dev/null
+++ b/swat/images/icons/nuvola/32/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_delete.png b/swat/images/icons/nuvola/32/mail_delete.png
new file mode 100644
index 0000000000..7014f9f803
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_find.png b/swat/images/icons/nuvola/32/mail_find.png
new file mode 100644
index 0000000000..81d608855e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_forward.png b/swat/images/icons/nuvola/32/mail_forward.png
new file mode 100644
index 0000000000..6d27c215b3
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_generic.png b/swat/images/icons/nuvola/32/mail_generic.png
new file mode 100644
index 0000000000..356a2e7b6a
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_new.png b/swat/images/icons/nuvola/32/mail_new.png
new file mode 100644
index 0000000000..825459fdbb
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_new.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_replyall.png b/swat/images/icons/nuvola/32/mail_replyall.png
new file mode 100644
index 0000000000..5cc855dadf
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_replyall.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mail_send.png b/swat/images/icons/nuvola/32/mail_send.png
new file mode 100644
index 0000000000..241544b1dd
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mail_send.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/misc.png b/swat/images/icons/nuvola/32/misc.png
new file mode 100644
index 0000000000..135fd11b9f
--- /dev/null
+++ b/swat/images/icons/nuvola/32/misc.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mozilla.png b/swat/images/icons/nuvola/32/mozilla.png
new file mode 100644
index 0000000000..fec3008cfb
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mozilla.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/mycomputer.png b/swat/images/icons/nuvola/32/mycomputer.png
new file mode 100644
index 0000000000..de11b2be1e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/netscape.png b/swat/images/icons/nuvola/32/netscape.png
new file mode 100644
index 0000000000..5b6775b0aa
--- /dev/null
+++ b/swat/images/icons/nuvola/32/netscape.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/network.png b/swat/images/icons/nuvola/32/network.png
new file mode 100644
index 0000000000..ac4c6ea2aa
--- /dev/null
+++ b/swat/images/icons/nuvola/32/network.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/next.png b/swat/images/icons/nuvola/32/next.png
new file mode 100644
index 0000000000..cd1be0cb74
--- /dev/null
+++ b/swat/images/icons/nuvola/32/next.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/no.png b/swat/images/icons/nuvola/32/no.png
new file mode 100644
index 0000000000..03448225a9
--- /dev/null
+++ b/swat/images/icons/nuvola/32/no.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/ok.png b/swat/images/icons/nuvola/32/ok.png
new file mode 100644
index 0000000000..592ce6f4a5
--- /dev/null
+++ b/swat/images/icons/nuvola/32/ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/opera.png b/swat/images/icons/nuvola/32/opera.png
new file mode 100644
index 0000000000..c3a0ee46c1
--- /dev/null
+++ b/swat/images/icons/nuvola/32/opera.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/package.png b/swat/images/icons/nuvola/32/package.png
new file mode 100644
index 0000000000..3757bfa6b0
--- /dev/null
+++ b/swat/images/icons/nuvola/32/package.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/password.png b/swat/images/icons/nuvola/32/password.png
new file mode 100644
index 0000000000..b74e831fe3
--- /dev/null
+++ b/swat/images/icons/nuvola/32/password.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/pipe.png b/swat/images/icons/nuvola/32/pipe.png
new file mode 100644
index 0000000000..5df1cc4fa7
--- /dev/null
+++ b/swat/images/icons/nuvola/32/pipe.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/previous.png b/swat/images/icons/nuvola/32/previous.png
new file mode 100644
index 0000000000..b3eb405316
--- /dev/null
+++ b/swat/images/icons/nuvola/32/previous.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/realplayer.png b/swat/images/icons/nuvola/32/realplayer.png
new file mode 100644
index 0000000000..2d1954e082
--- /dev/null
+++ b/swat/images/icons/nuvola/32/realplayer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/redo.png b/swat/images/icons/nuvola/32/redo.png
new file mode 100644
index 0000000000..36bf9b6118
--- /dev/null
+++ b/swat/images/icons/nuvola/32/redo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/reload.png b/swat/images/icons/nuvola/32/reload.png
new file mode 100644
index 0000000000..4b0e37a11c
--- /dev/null
+++ b/swat/images/icons/nuvola/32/reload.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/run.png b/swat/images/icons/nuvola/32/run.png
new file mode 100644
index 0000000000..db5111a9af
--- /dev/null
+++ b/swat/images/icons/nuvola/32/run.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/services.png b/swat/images/icons/nuvola/32/services.png
new file mode 100644
index 0000000000..fcee6c9cf2
--- /dev/null
+++ b/swat/images/icons/nuvola/32/services.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/socket.png b/swat/images/icons/nuvola/32/socket.png
new file mode 100644
index 0000000000..cb5f8f0a3c
--- /dev/null
+++ b/swat/images/icons/nuvola/32/socket.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/spellcheck.png b/swat/images/icons/nuvola/32/spellcheck.png
new file mode 100644
index 0000000000..c012684fb3
--- /dev/null
+++ b/swat/images/icons/nuvola/32/spellcheck.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/stop.png b/swat/images/icons/nuvola/32/stop.png
new file mode 100644
index 0000000000..b953dd7e3e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/stop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/style.png b/swat/images/icons/nuvola/32/style.png
new file mode 100644
index 0000000000..0788864116
--- /dev/null
+++ b/swat/images/icons/nuvola/32/style.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/stylesheet.png b/swat/images/icons/nuvola/32/stylesheet.png
new file mode 100644
index 0000000000..35bdb05377
--- /dev/null
+++ b/swat/images/icons/nuvola/32/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/thumbnail.png b/swat/images/icons/nuvola/32/thumbnail.png
new file mode 100644
index 0000000000..69e55a1d5d
--- /dev/null
+++ b/swat/images/icons/nuvola/32/thumbnail.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/up.png b/swat/images/icons/nuvola/32/up.png
new file mode 100644
index 0000000000..899ad4fc9e
--- /dev/null
+++ b/swat/images/icons/nuvola/32/up.png
Binary files differ
diff --git a/swat/images/icons/nuvola/32/wizard.png b/swat/images/icons/nuvola/32/wizard.png
new file mode 100644
index 0000000000..807d9c4a65
--- /dev/null
+++ b/swat/images/icons/nuvola/32/wizard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/access.png b/swat/images/icons/nuvola/48/access.png
new file mode 100644
index 0000000000..39745787fb
--- /dev/null
+++ b/swat/images/icons/nuvola/48/access.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/agent.png b/swat/images/icons/nuvola/48/agent.png
new file mode 100644
index 0000000000..0ea9d236fc
--- /dev/null
+++ b/swat/images/icons/nuvola/48/agent.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/apply.png b/swat/images/icons/nuvola/48/apply.png
new file mode 100644
index 0000000000..3b7a6907ee
--- /dev/null
+++ b/swat/images/icons/nuvola/48/apply.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/back.png b/swat/images/icons/nuvola/48/back.png
new file mode 100644
index 0000000000..753b14f468
--- /dev/null
+++ b/swat/images/icons/nuvola/48/back.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/background.png b/swat/images/icons/nuvola/48/background.png
new file mode 100644
index 0000000000..50a848f3bb
--- /dev/null
+++ b/swat/images/icons/nuvola/48/background.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/bell.png b/swat/images/icons/nuvola/48/bell.png
new file mode 100644
index 0000000000..be0c6e69f0
--- /dev/null
+++ b/swat/images/icons/nuvola/48/bell.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/bookmark.png b/swat/images/icons/nuvola/48/bookmark.png
new file mode 100644
index 0000000000..dcadad79ce
--- /dev/null
+++ b/swat/images/icons/nuvola/48/bookmark.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/browser.png b/swat/images/icons/nuvola/48/browser.png
new file mode 100644
index 0000000000..b5f28c4777
--- /dev/null
+++ b/swat/images/icons/nuvola/48/browser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/button_cancel.png b/swat/images/icons/nuvola/48/button_cancel.png
new file mode 100644
index 0000000000..75980de008
--- /dev/null
+++ b/swat/images/icons/nuvola/48/button_cancel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/button_ok.png b/swat/images/icons/nuvola/48/button_ok.png
new file mode 100644
index 0000000000..94aac4b2b8
--- /dev/null
+++ b/swat/images/icons/nuvola/48/button_ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/cache.png b/swat/images/icons/nuvola/48/cache.png
new file mode 100644
index 0000000000..321e8241b0
--- /dev/null
+++ b/swat/images/icons/nuvola/48/cache.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/clock.png b/swat/images/icons/nuvola/48/clock.png
new file mode 100644
index 0000000000..17e760a3fc
--- /dev/null
+++ b/swat/images/icons/nuvola/48/clock.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/colorize.png b/swat/images/icons/nuvola/48/colorize.png
new file mode 100644
index 0000000000..61a6f6302d
--- /dev/null
+++ b/swat/images/icons/nuvola/48/colorize.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/colors.png b/swat/images/icons/nuvola/48/colors.png
new file mode 100644
index 0000000000..641c9d8d30
--- /dev/null
+++ b/swat/images/icons/nuvola/48/colors.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/colorset.png b/swat/images/icons/nuvola/48/colorset.png
new file mode 100644
index 0000000000..0a7e28ca16
--- /dev/null
+++ b/swat/images/icons/nuvola/48/colorset.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/configure.png b/swat/images/icons/nuvola/48/configure.png
new file mode 100644
index 0000000000..2bf463be33
--- /dev/null
+++ b/swat/images/icons/nuvola/48/configure.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/cookie.png b/swat/images/icons/nuvola/48/cookie.png
new file mode 100644
index 0000000000..8cbb309962
--- /dev/null
+++ b/swat/images/icons/nuvola/48/cookie.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/core.png b/swat/images/icons/nuvola/48/core.png
new file mode 100644
index 0000000000..03855c9135
--- /dev/null
+++ b/swat/images/icons/nuvola/48/core.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/date.png b/swat/images/icons/nuvola/48/date.png
new file mode 100644
index 0000000000..d3b8f47621
--- /dev/null
+++ b/swat/images/icons/nuvola/48/date.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/decrypted.png b/swat/images/icons/nuvola/48/decrypted.png
new file mode 100644
index 0000000000..c532f17e3d
--- /dev/null
+++ b/swat/images/icons/nuvola/48/decrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/desktop.png b/swat/images/icons/nuvola/48/desktop.png
new file mode 100644
index 0000000000..9a0cf87f05
--- /dev/null
+++ b/swat/images/icons/nuvola/48/desktop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/display.png b/swat/images/icons/nuvola/48/display.png
new file mode 100644
index 0000000000..6b9ab9e130
--- /dev/null
+++ b/swat/images/icons/nuvola/48/display.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/document.png b/swat/images/icons/nuvola/48/document.png
new file mode 100644
index 0000000000..b545d96758
--- /dev/null
+++ b/swat/images/icons/nuvola/48/document.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/down.png b/swat/images/icons/nuvola/48/down.png
new file mode 100644
index 0000000000..5648bf19fa
--- /dev/null
+++ b/swat/images/icons/nuvola/48/down.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/edit.png b/swat/images/icons/nuvola/48/edit.png
new file mode 100644
index 0000000000..bee264546b
--- /dev/null
+++ b/swat/images/icons/nuvola/48/edit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/editcopy.png b/swat/images/icons/nuvola/48/editcopy.png
new file mode 100644
index 0000000000..a04d2f7fce
--- /dev/null
+++ b/swat/images/icons/nuvola/48/editcopy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/editcut.png b/swat/images/icons/nuvola/48/editcut.png
new file mode 100644
index 0000000000..a1b20f4beb
--- /dev/null
+++ b/swat/images/icons/nuvola/48/editcut.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/editdelete.png b/swat/images/icons/nuvola/48/editdelete.png
new file mode 100644
index 0000000000..f748cbe88a
--- /dev/null
+++ b/swat/images/icons/nuvola/48/editdelete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/editpaste.png b/swat/images/icons/nuvola/48/editpaste.png
new file mode 100644
index 0000000000..099c51ff90
--- /dev/null
+++ b/swat/images/icons/nuvola/48/editpaste.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/edittrash.png b/swat/images/icons/nuvola/48/edittrash.png
new file mode 100644
index 0000000000..906608fbae
--- /dev/null
+++ b/swat/images/icons/nuvola/48/edittrash.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/email.png b/swat/images/icons/nuvola/48/email.png
new file mode 100644
index 0000000000..19c7cfd2f5
--- /dev/null
+++ b/swat/images/icons/nuvola/48/email.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/empty.png b/swat/images/icons/nuvola/48/empty.png
new file mode 100644
index 0000000000..78851f3619
--- /dev/null
+++ b/swat/images/icons/nuvola/48/empty.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/encrypted.png b/swat/images/icons/nuvola/48/encrypted.png
new file mode 100644
index 0000000000..7d3e1ef2a5
--- /dev/null
+++ b/swat/images/icons/nuvola/48/encrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/energy.png b/swat/images/icons/nuvola/48/energy.png
new file mode 100644
index 0000000000..94ce36b11f
--- /dev/null
+++ b/swat/images/icons/nuvola/48/energy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/error.png b/swat/images/icons/nuvola/48/error.png
new file mode 100644
index 0000000000..e1841e408c
--- /dev/null
+++ b/swat/images/icons/nuvola/48/error.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/exec.png b/swat/images/icons/nuvola/48/exec.png
new file mode 100644
index 0000000000..8467ec1ac2
--- /dev/null
+++ b/swat/images/icons/nuvola/48/exec.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/filenew.png b/swat/images/icons/nuvola/48/filenew.png
new file mode 100644
index 0000000000..bc10ac0c22
--- /dev/null
+++ b/swat/images/icons/nuvola/48/filenew.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/fileopen.png b/swat/images/icons/nuvola/48/fileopen.png
new file mode 100644
index 0000000000..7341929638
--- /dev/null
+++ b/swat/images/icons/nuvola/48/fileopen.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/fileprint.png b/swat/images/icons/nuvola/48/fileprint.png
new file mode 100644
index 0000000000..05e1598703
--- /dev/null
+++ b/swat/images/icons/nuvola/48/fileprint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/filesave.png b/swat/images/icons/nuvola/48/filesave.png
new file mode 100644
index 0000000000..0006ad4294
--- /dev/null
+++ b/swat/images/icons/nuvola/48/filesave.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/filesaveas.png b/swat/images/icons/nuvola/48/filesaveas.png
new file mode 100644
index 0000000000..2be6df257a
--- /dev/null
+++ b/swat/images/icons/nuvola/48/filesaveas.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/find.png b/swat/images/icons/nuvola/48/find.png
new file mode 100644
index 0000000000..e03a26dbc7
--- /dev/null
+++ b/swat/images/icons/nuvola/48/find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/folder.png b/swat/images/icons/nuvola/48/folder.png
new file mode 100644
index 0000000000..31c8a7ede1
--- /dev/null
+++ b/swat/images/icons/nuvola/48/folder.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/folder_home.png b/swat/images/icons/nuvola/48/folder_home.png
new file mode 100644
index 0000000000..74f8aea85a
--- /dev/null
+++ b/swat/images/icons/nuvola/48/folder_home.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/folder_important.png b/swat/images/icons/nuvola/48/folder_important.png
new file mode 100644
index 0000000000..d91b77c39a
--- /dev/null
+++ b/swat/images/icons/nuvola/48/folder_important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/folder_locked.png b/swat/images/icons/nuvola/48/folder_locked.png
new file mode 100644
index 0000000000..f16584669f
--- /dev/null
+++ b/swat/images/icons/nuvola/48/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/folder_open.png b/swat/images/icons/nuvola/48/folder_open.png
new file mode 100644
index 0000000000..f7314b3494
--- /dev/null
+++ b/swat/images/icons/nuvola/48/folder_open.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/font.png b/swat/images/icons/nuvola/48/font.png
new file mode 100644
index 0000000000..80f56a886b
--- /dev/null
+++ b/swat/images/icons/nuvola/48/font.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/forward.png b/swat/images/icons/nuvola/48/forward.png
new file mode 100644
index 0000000000..88eb4cfc6e
--- /dev/null
+++ b/swat/images/icons/nuvola/48/forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/gohome.png b/swat/images/icons/nuvola/48/gohome.png
new file mode 100644
index 0000000000..d2b3dfc614
--- /dev/null
+++ b/swat/images/icons/nuvola/48/gohome.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/help.png b/swat/images/icons/nuvola/48/help.png
new file mode 100644
index 0000000000..915f9fd6d4
--- /dev/null
+++ b/swat/images/icons/nuvola/48/help.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/history.png b/swat/images/icons/nuvola/48/history.png
new file mode 100644
index 0000000000..7907787f3c
--- /dev/null
+++ b/swat/images/icons/nuvola/48/history.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/hwinfo.png b/swat/images/icons/nuvola/48/hwinfo.png
new file mode 100644
index 0000000000..2c7b76033e
--- /dev/null
+++ b/swat/images/icons/nuvola/48/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/icons.png b/swat/images/icons/nuvola/48/icons.png
new file mode 100644
index 0000000000..5aaece3e8c
--- /dev/null
+++ b/swat/images/icons/nuvola/48/icons.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/iconthemes.png b/swat/images/icons/nuvola/48/iconthemes.png
new file mode 100644
index 0000000000..ba4744f980
--- /dev/null
+++ b/swat/images/icons/nuvola/48/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/important.png b/swat/images/icons/nuvola/48/important.png
new file mode 100644
index 0000000000..a763d82bf9
--- /dev/null
+++ b/swat/images/icons/nuvola/48/important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/info.png b/swat/images/icons/nuvola/48/info.png
new file mode 100644
index 0000000000..d2051a8901
--- /dev/null
+++ b/swat/images/icons/nuvola/48/info.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kcoloredit.png b/swat/images/icons/nuvola/48/kcoloredit.png
new file mode 100644
index 0000000000..adb7216b06
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kcontrol.png b/swat/images/icons/nuvola/48/kcontrol.png
new file mode 100644
index 0000000000..a359543e30
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/keyboard.png b/swat/images/icons/nuvola/48/keyboard.png
new file mode 100644
index 0000000000..d911c7f314
--- /dev/null
+++ b/swat/images/icons/nuvola/48/keyboard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/khelpcenter.png b/swat/images/icons/nuvola/48/khelpcenter.png
new file mode 100644
index 0000000000..614b0f9131
--- /dev/null
+++ b/swat/images/icons/nuvola/48/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kmix.png b/swat/images/icons/nuvola/48/kmix.png
new file mode 100644
index 0000000000..fb5ca5292d
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kmix.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/knotify.png b/swat/images/icons/nuvola/48/knotify.png
new file mode 100644
index 0000000000..40205ad933
--- /dev/null
+++ b/swat/images/icons/nuvola/48/knotify.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/konqueror.png b/swat/images/icons/nuvola/48/konqueror.png
new file mode 100644
index 0000000000..ef5d9a24c4
--- /dev/null
+++ b/swat/images/icons/nuvola/48/konqueror.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kpackage.png b/swat/images/icons/nuvola/48/kpackage.png
new file mode 100644
index 0000000000..c8a65a759f
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kpackage.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kpaint.png b/swat/images/icons/nuvola/48/kpaint.png
new file mode 100644
index 0000000000..6e9fdc73c0
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kpaint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/krita.png b/swat/images/icons/nuvola/48/krita.png
new file mode 100644
index 0000000000..1c16253c05
--- /dev/null
+++ b/swat/images/icons/nuvola/48/krita.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/ksnapshot.png b/swat/images/icons/nuvola/48/ksnapshot.png
new file mode 100644
index 0000000000..5972080f1c
--- /dev/null
+++ b/swat/images/icons/nuvola/48/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/ktip.png b/swat/images/icons/nuvola/48/ktip.png
new file mode 100644
index 0000000000..8b8756181d
--- /dev/null
+++ b/swat/images/icons/nuvola/48/ktip.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kuser.png b/swat/images/icons/nuvola/48/kuser.png
new file mode 100644
index 0000000000..fe74c0056a
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kuser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/kview.png b/swat/images/icons/nuvola/48/kview.png
new file mode 100644
index 0000000000..56901e0e3e
--- /dev/null
+++ b/swat/images/icons/nuvola/48/kview.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/locale.png b/swat/images/icons/nuvola/48/locale.png
new file mode 100644
index 0000000000..a784df52fc
--- /dev/null
+++ b/swat/images/icons/nuvola/48/locale.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/looknfeel.png b/swat/images/icons/nuvola/48/looknfeel.png
new file mode 100644
index 0000000000..69f5db940e
--- /dev/null
+++ b/swat/images/icons/nuvola/48/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_delete.png b/swat/images/icons/nuvola/48/mail_delete.png
new file mode 100644
index 0000000000..3d0941c7d2
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_delete.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_find.png b/swat/images/icons/nuvola/48/mail_find.png
new file mode 100644
index 0000000000..56b68ee3be
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_find.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_forward.png b/swat/images/icons/nuvola/48/mail_forward.png
new file mode 100644
index 0000000000..88be810222
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_forward.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_generic.png b/swat/images/icons/nuvola/48/mail_generic.png
new file mode 100644
index 0000000000..79699c828d
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_generic.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_new.png b/swat/images/icons/nuvola/48/mail_new.png
new file mode 100644
index 0000000000..e09387c1b5
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_new.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_replyall.png b/swat/images/icons/nuvola/48/mail_replyall.png
new file mode 100644
index 0000000000..8c845a0db2
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_replyall.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mail_send.png b/swat/images/icons/nuvola/48/mail_send.png
new file mode 100644
index 0000000000..971fb090d5
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mail_send.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/misc.png b/swat/images/icons/nuvola/48/misc.png
new file mode 100644
index 0000000000..0c17cd9a59
--- /dev/null
+++ b/swat/images/icons/nuvola/48/misc.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mozilla.png b/swat/images/icons/nuvola/48/mozilla.png
new file mode 100644
index 0000000000..2fd15db78b
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mozilla.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/mycomputer.png b/swat/images/icons/nuvola/48/mycomputer.png
new file mode 100644
index 0000000000..8f07fa9570
--- /dev/null
+++ b/swat/images/icons/nuvola/48/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/netscape.png b/swat/images/icons/nuvola/48/netscape.png
new file mode 100644
index 0000000000..4ff1a20107
--- /dev/null
+++ b/swat/images/icons/nuvola/48/netscape.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/network.png b/swat/images/icons/nuvola/48/network.png
new file mode 100644
index 0000000000..5bac4066c7
--- /dev/null
+++ b/swat/images/icons/nuvola/48/network.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/next.png b/swat/images/icons/nuvola/48/next.png
new file mode 100644
index 0000000000..fbce893e78
--- /dev/null
+++ b/swat/images/icons/nuvola/48/next.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/no.png b/swat/images/icons/nuvola/48/no.png
new file mode 100644
index 0000000000..b7e2f90a33
--- /dev/null
+++ b/swat/images/icons/nuvola/48/no.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/ok.png b/swat/images/icons/nuvola/48/ok.png
new file mode 100644
index 0000000000..3b7a6907ee
--- /dev/null
+++ b/swat/images/icons/nuvola/48/ok.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/opera.png b/swat/images/icons/nuvola/48/opera.png
new file mode 100644
index 0000000000..6fb9136b21
--- /dev/null
+++ b/swat/images/icons/nuvola/48/opera.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/package.png b/swat/images/icons/nuvola/48/package.png
new file mode 100644
index 0000000000..7cf1b96d6f
--- /dev/null
+++ b/swat/images/icons/nuvola/48/package.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/password.png b/swat/images/icons/nuvola/48/password.png
new file mode 100644
index 0000000000..98d7607e28
--- /dev/null
+++ b/swat/images/icons/nuvola/48/password.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/pipe.png b/swat/images/icons/nuvola/48/pipe.png
new file mode 100644
index 0000000000..d479c1b385
--- /dev/null
+++ b/swat/images/icons/nuvola/48/pipe.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/previous.png b/swat/images/icons/nuvola/48/previous.png
new file mode 100644
index 0000000000..3813e818ec
--- /dev/null
+++ b/swat/images/icons/nuvola/48/previous.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/realplayer.png b/swat/images/icons/nuvola/48/realplayer.png
new file mode 100644
index 0000000000..dabfe1a77a
--- /dev/null
+++ b/swat/images/icons/nuvola/48/realplayer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/redo.png b/swat/images/icons/nuvola/48/redo.png
new file mode 100644
index 0000000000..3da735b6af
--- /dev/null
+++ b/swat/images/icons/nuvola/48/redo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/reload.png b/swat/images/icons/nuvola/48/reload.png
new file mode 100644
index 0000000000..248f614d29
--- /dev/null
+++ b/swat/images/icons/nuvola/48/reload.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/run.png b/swat/images/icons/nuvola/48/run.png
new file mode 100644
index 0000000000..d741485f37
--- /dev/null
+++ b/swat/images/icons/nuvola/48/run.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/services.png b/swat/images/icons/nuvola/48/services.png
new file mode 100644
index 0000000000..e4e12439b3
--- /dev/null
+++ b/swat/images/icons/nuvola/48/services.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/socket.png b/swat/images/icons/nuvola/48/socket.png
new file mode 100644
index 0000000000..1bacbaae01
--- /dev/null
+++ b/swat/images/icons/nuvola/48/socket.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/spellcheck.png b/swat/images/icons/nuvola/48/spellcheck.png
new file mode 100644
index 0000000000..0b32d72e2f
--- /dev/null
+++ b/swat/images/icons/nuvola/48/spellcheck.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/stop.png b/swat/images/icons/nuvola/48/stop.png
new file mode 100644
index 0000000000..bb4fe64369
--- /dev/null
+++ b/swat/images/icons/nuvola/48/stop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/style.png b/swat/images/icons/nuvola/48/style.png
new file mode 100644
index 0000000000..c9c4381358
--- /dev/null
+++ b/swat/images/icons/nuvola/48/style.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/stylesheet.png b/swat/images/icons/nuvola/48/stylesheet.png
new file mode 100644
index 0000000000..4777cbbf94
--- /dev/null
+++ b/swat/images/icons/nuvola/48/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/thumbnail.png b/swat/images/icons/nuvola/48/thumbnail.png
new file mode 100644
index 0000000000..bcc168145e
--- /dev/null
+++ b/swat/images/icons/nuvola/48/thumbnail.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/up.png b/swat/images/icons/nuvola/48/up.png
new file mode 100644
index 0000000000..6af24949b8
--- /dev/null
+++ b/swat/images/icons/nuvola/48/up.png
Binary files differ
diff --git a/swat/images/icons/nuvola/48/wizard.png b/swat/images/icons/nuvola/48/wizard.png
new file mode 100644
index 0000000000..c117bea3b0
--- /dev/null
+++ b/swat/images/icons/nuvola/48/wizard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/access.png b/swat/images/icons/nuvola/64/access.png
new file mode 100644
index 0000000000..01b023e542
--- /dev/null
+++ b/swat/images/icons/nuvola/64/access.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/agent.png b/swat/images/icons/nuvola/64/agent.png
new file mode 100644
index 0000000000..8bdbfbc753
--- /dev/null
+++ b/swat/images/icons/nuvola/64/agent.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/background.png b/swat/images/icons/nuvola/64/background.png
new file mode 100644
index 0000000000..eecc4f45af
--- /dev/null
+++ b/swat/images/icons/nuvola/64/background.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/bell.png b/swat/images/icons/nuvola/64/bell.png
new file mode 100644
index 0000000000..d8d7ec712a
--- /dev/null
+++ b/swat/images/icons/nuvola/64/bell.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/browser.png b/swat/images/icons/nuvola/64/browser.png
new file mode 100644
index 0000000000..2d0fdf97d0
--- /dev/null
+++ b/swat/images/icons/nuvola/64/browser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/cache.png b/swat/images/icons/nuvola/64/cache.png
new file mode 100644
index 0000000000..c42bf4a3ce
--- /dev/null
+++ b/swat/images/icons/nuvola/64/cache.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/clock.png b/swat/images/icons/nuvola/64/clock.png
new file mode 100644
index 0000000000..dda46a5496
--- /dev/null
+++ b/swat/images/icons/nuvola/64/clock.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/colors.png b/swat/images/icons/nuvola/64/colors.png
new file mode 100644
index 0000000000..dfe8f950d5
--- /dev/null
+++ b/swat/images/icons/nuvola/64/colors.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/colorset.png b/swat/images/icons/nuvola/64/colorset.png
new file mode 100644
index 0000000000..2dbdf9ea8d
--- /dev/null
+++ b/swat/images/icons/nuvola/64/colorset.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/cookie.png b/swat/images/icons/nuvola/64/cookie.png
new file mode 100644
index 0000000000..4647c31022
--- /dev/null
+++ b/swat/images/icons/nuvola/64/cookie.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/core.png b/swat/images/icons/nuvola/64/core.png
new file mode 100644
index 0000000000..e5a5143c39
--- /dev/null
+++ b/swat/images/icons/nuvola/64/core.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/date.png b/swat/images/icons/nuvola/64/date.png
new file mode 100644
index 0000000000..4746c98012
--- /dev/null
+++ b/swat/images/icons/nuvola/64/date.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/desktop.png b/swat/images/icons/nuvola/64/desktop.png
new file mode 100644
index 0000000000..fd2b4a781f
--- /dev/null
+++ b/swat/images/icons/nuvola/64/desktop.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/display.png b/swat/images/icons/nuvola/64/display.png
new file mode 100644
index 0000000000..5e93201be6
--- /dev/null
+++ b/swat/images/icons/nuvola/64/display.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/document.png b/swat/images/icons/nuvola/64/document.png
new file mode 100644
index 0000000000..46b2871277
--- /dev/null
+++ b/swat/images/icons/nuvola/64/document.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/email.png b/swat/images/icons/nuvola/64/email.png
new file mode 100644
index 0000000000..442141d106
--- /dev/null
+++ b/swat/images/icons/nuvola/64/email.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/empty.png b/swat/images/icons/nuvola/64/empty.png
new file mode 100644
index 0000000000..1e92934834
--- /dev/null
+++ b/swat/images/icons/nuvola/64/empty.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/encrypted.png b/swat/images/icons/nuvola/64/encrypted.png
new file mode 100644
index 0000000000..2e06c176c2
--- /dev/null
+++ b/swat/images/icons/nuvola/64/encrypted.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/energy.png b/swat/images/icons/nuvola/64/energy.png
new file mode 100644
index 0000000000..9a829877e3
--- /dev/null
+++ b/swat/images/icons/nuvola/64/energy.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/error.png b/swat/images/icons/nuvola/64/error.png
new file mode 100644
index 0000000000..e597c4658b
--- /dev/null
+++ b/swat/images/icons/nuvola/64/error.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/exec.png b/swat/images/icons/nuvola/64/exec.png
new file mode 100644
index 0000000000..a1b6850041
--- /dev/null
+++ b/swat/images/icons/nuvola/64/exec.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/folder.png b/swat/images/icons/nuvola/64/folder.png
new file mode 100644
index 0000000000..5ef5754e26
--- /dev/null
+++ b/swat/images/icons/nuvola/64/folder.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/folder_home.png b/swat/images/icons/nuvola/64/folder_home.png
new file mode 100644
index 0000000000..7b20e56631
--- /dev/null
+++ b/swat/images/icons/nuvola/64/folder_home.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/folder_important.png b/swat/images/icons/nuvola/64/folder_important.png
new file mode 100644
index 0000000000..1c97defd59
--- /dev/null
+++ b/swat/images/icons/nuvola/64/folder_important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/folder_locked.png b/swat/images/icons/nuvola/64/folder_locked.png
new file mode 100644
index 0000000000..9e9bbd9776
--- /dev/null
+++ b/swat/images/icons/nuvola/64/folder_locked.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/folder_open.png b/swat/images/icons/nuvola/64/folder_open.png
new file mode 100644
index 0000000000..f5bddaf374
--- /dev/null
+++ b/swat/images/icons/nuvola/64/folder_open.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/font.png b/swat/images/icons/nuvola/64/font.png
new file mode 100644
index 0000000000..3299a64282
--- /dev/null
+++ b/swat/images/icons/nuvola/64/font.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/hwinfo.png b/swat/images/icons/nuvola/64/hwinfo.png
new file mode 100644
index 0000000000..bc015a7ece
--- /dev/null
+++ b/swat/images/icons/nuvola/64/hwinfo.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/icons.png b/swat/images/icons/nuvola/64/icons.png
new file mode 100644
index 0000000000..a591696dad
--- /dev/null
+++ b/swat/images/icons/nuvola/64/icons.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/iconthemes.png b/swat/images/icons/nuvola/64/iconthemes.png
new file mode 100644
index 0000000000..5e934b7de7
--- /dev/null
+++ b/swat/images/icons/nuvola/64/iconthemes.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/important.png b/swat/images/icons/nuvola/64/important.png
new file mode 100644
index 0000000000..db52b85a5f
--- /dev/null
+++ b/swat/images/icons/nuvola/64/important.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/info.png b/swat/images/icons/nuvola/64/info.png
new file mode 100644
index 0000000000..f8c50e169b
--- /dev/null
+++ b/swat/images/icons/nuvola/64/info.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kcoloredit.png b/swat/images/icons/nuvola/64/kcoloredit.png
new file mode 100644
index 0000000000..9fe8697e5f
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kcoloredit.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kcontrol.png b/swat/images/icons/nuvola/64/kcontrol.png
new file mode 100644
index 0000000000..0ecbfe51e7
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kcontrol.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/keyboard.png b/swat/images/icons/nuvola/64/keyboard.png
new file mode 100644
index 0000000000..6b8aee857b
--- /dev/null
+++ b/swat/images/icons/nuvola/64/keyboard.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/khelpcenter.png b/swat/images/icons/nuvola/64/khelpcenter.png
new file mode 100644
index 0000000000..ebb8462ced
--- /dev/null
+++ b/swat/images/icons/nuvola/64/khelpcenter.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kmix.png b/swat/images/icons/nuvola/64/kmix.png
new file mode 100644
index 0000000000..67cc062f9e
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kmix.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/knotify.png b/swat/images/icons/nuvola/64/knotify.png
new file mode 100644
index 0000000000..3f0d99d55c
--- /dev/null
+++ b/swat/images/icons/nuvola/64/knotify.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/konqueror.png b/swat/images/icons/nuvola/64/konqueror.png
new file mode 100644
index 0000000000..23c5665a89
--- /dev/null
+++ b/swat/images/icons/nuvola/64/konqueror.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kpackage.png b/swat/images/icons/nuvola/64/kpackage.png
new file mode 100644
index 0000000000..c09c67ce84
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kpackage.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kpaint.png b/swat/images/icons/nuvola/64/kpaint.png
new file mode 100644
index 0000000000..a08cec3396
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kpaint.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/krita.png b/swat/images/icons/nuvola/64/krita.png
new file mode 100644
index 0000000000..68321ff45f
--- /dev/null
+++ b/swat/images/icons/nuvola/64/krita.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/ksnapshot.png b/swat/images/icons/nuvola/64/ksnapshot.png
new file mode 100644
index 0000000000..32b0c82fd6
--- /dev/null
+++ b/swat/images/icons/nuvola/64/ksnapshot.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/ktip.png b/swat/images/icons/nuvola/64/ktip.png
new file mode 100644
index 0000000000..e8b4285a22
--- /dev/null
+++ b/swat/images/icons/nuvola/64/ktip.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kuser.png b/swat/images/icons/nuvola/64/kuser.png
new file mode 100644
index 0000000000..3e443c99db
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kuser.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/kview.png b/swat/images/icons/nuvola/64/kview.png
new file mode 100644
index 0000000000..92635c96e0
--- /dev/null
+++ b/swat/images/icons/nuvola/64/kview.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/locale.png b/swat/images/icons/nuvola/64/locale.png
new file mode 100644
index 0000000000..ed5d411645
--- /dev/null
+++ b/swat/images/icons/nuvola/64/locale.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/looknfeel.png b/swat/images/icons/nuvola/64/looknfeel.png
new file mode 100644
index 0000000000..dc65d514e1
--- /dev/null
+++ b/swat/images/icons/nuvola/64/looknfeel.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/mozilla.png b/swat/images/icons/nuvola/64/mozilla.png
new file mode 100644
index 0000000000..a5220d14f8
--- /dev/null
+++ b/swat/images/icons/nuvola/64/mozilla.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/mycomputer.png b/swat/images/icons/nuvola/64/mycomputer.png
new file mode 100644
index 0000000000..41a501e940
--- /dev/null
+++ b/swat/images/icons/nuvola/64/mycomputer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/netscape.png b/swat/images/icons/nuvola/64/netscape.png
new file mode 100644
index 0000000000..f2e34e902b
--- /dev/null
+++ b/swat/images/icons/nuvola/64/netscape.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/network.png b/swat/images/icons/nuvola/64/network.png
new file mode 100644
index 0000000000..d3f72be6b5
--- /dev/null
+++ b/swat/images/icons/nuvola/64/network.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/opera.png b/swat/images/icons/nuvola/64/opera.png
new file mode 100644
index 0000000000..60ded2af2d
--- /dev/null
+++ b/swat/images/icons/nuvola/64/opera.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/package.png b/swat/images/icons/nuvola/64/package.png
new file mode 100644
index 0000000000..75238db464
--- /dev/null
+++ b/swat/images/icons/nuvola/64/package.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/password.png b/swat/images/icons/nuvola/64/password.png
new file mode 100644
index 0000000000..bf8d7e42a1
--- /dev/null
+++ b/swat/images/icons/nuvola/64/password.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/pipe.png b/swat/images/icons/nuvola/64/pipe.png
new file mode 100644
index 0000000000..85e7142a7d
--- /dev/null
+++ b/swat/images/icons/nuvola/64/pipe.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/realplayer.png b/swat/images/icons/nuvola/64/realplayer.png
new file mode 100644
index 0000000000..9220109f37
--- /dev/null
+++ b/swat/images/icons/nuvola/64/realplayer.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/services.png b/swat/images/icons/nuvola/64/services.png
new file mode 100644
index 0000000000..0b9ea4dd56
--- /dev/null
+++ b/swat/images/icons/nuvola/64/services.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/socket.png b/swat/images/icons/nuvola/64/socket.png
new file mode 100644
index 0000000000..23818bc29d
--- /dev/null
+++ b/swat/images/icons/nuvola/64/socket.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/style.png b/swat/images/icons/nuvola/64/style.png
new file mode 100644
index 0000000000..2d5a61df4b
--- /dev/null
+++ b/swat/images/icons/nuvola/64/style.png
Binary files differ
diff --git a/swat/images/icons/nuvola/64/stylesheet.png b/swat/images/icons/nuvola/64/stylesheet.png
new file mode 100644
index 0000000000..7a4cd1f6f3
--- /dev/null
+++ b/swat/images/icons/nuvola/64/stylesheet.png
Binary files differ
diff --git a/swat/images/icons/nuvola/README b/swat/images/icons/nuvola/README
new file mode 100644
index 0000000000..8b01652cb7
--- /dev/null
+++ b/swat/images/icons/nuvola/README
@@ -0,0 +1,4 @@
+Nuvola Icon Set 1.0
+
+http://www.icon-king.com/index.php?p=23
+License: Unknown \ No newline at end of file
diff --git a/swat/images/icons/nuvola/author b/swat/images/icons/nuvola/author
new file mode 100644
index 0000000000..d7e029cca0
--- /dev/null
+++ b/swat/images/icons/nuvola/author
@@ -0,0 +1,3 @@
+David Vignoni (david@icon-king.com)
+ICON KING - www.icon-king.com
+
diff --git a/swat/images/icons/nuvola/license.txt b/swat/images/icons/nuvola/license.txt
new file mode 100644
index 0000000000..b1e3f5a263
--- /dev/null
+++ b/swat/images/icons/nuvola/license.txt
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/swat/images/icons/nuvola/readme.txt b/swat/images/icons/nuvola/readme.txt
new file mode 100644
index 0000000000..590166ea73
--- /dev/null
+++ b/swat/images/icons/nuvola/readme.txt
@@ -0,0 +1,60 @@
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+This copyright and license notice covers the images in this directory.
+Note the license notice contains an add-on.
+************************************************************************
+
+TITLE: NUVOLA ICON THEME for KDE 3.x
+AUTHOR: David Vignoni | ICON KING
+SITE: http://www.icon-king.com
+MAILING LIST: http://mail.icon-king.com/mailman/listinfo/nuvola_icon-king.com
+
+Copyright (c) 2003-2004 David Vignoni.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation,
+version 2.1 of the License.
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+You should have received a copy of the GNU Lesser General Public
+License along with this library (see the the license.txt file); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#######**** NOTE THIS ADD-ON ****#######
+The GNU Lesser General Public License or LGPL is written for software libraries
+in the first place. The LGPL has to be considered valid for this artwork
+library too.
+Nuvola icon theme for KDE 3.x is a special kind of software library, it is an
+artwork library, it's elements can be used in a Graphical User Interface, or
+GUI.
+Source code, for this library means:
+ - raster png image* .
+The LGPL in some sections obliges you to make the files carry
+notices. With images this is in some cases impossible or hardly usefull.
+With this library a notice is placed at a prominent place in the directory
+containing the elements. You may follow this practice.
+The exception in section 6 of the GNU Lesser General Public License covers
+the use of elements of this art library in a GUI.
+dave [at] icon-king.com
+
+Date: 15 october 2004
+Version: 1.0
+
+DESCRIPTION:
+
+Icon theme for KDE 3.x.
+Icons where designed using Adobe Illustrator, and then exported to PNG format.
+Icons shadows and minor corrections were done using Adobe Photoshop.
+Kiconedit was used to correct some 16x16 and 22x22 icons.
+
+LICENSE
+
+Released under GNU Lesser General Public License (LGPL)
+Look at the license.txt file.
+
+CONTACT
+
+David Vignoni
+e-mail : david [at] icon-king.com
+ICQ : 117761009
+http: http://www.icon-king.com
diff --git a/swat/images/icons/nuvola/thanks.to b/swat/images/icons/nuvola/thanks.to
new file mode 100644
index 0000000000..bd4d0b131b
--- /dev/null
+++ b/swat/images/icons/nuvola/thanks.to
@@ -0,0 +1,7 @@
+Thanks to
+
+Mark Mahle from Hosted.as for hosting the site, support and for being a true friend. Best wishes for you.
+Christian Schaller to be a big fan Nuvola SVG and to have made me part of the gnome-themes-extras team.
+Carlos Woelz for his work at kde-quality and to give me some visibility with the interview at dot.kde.org.
+
+Also big thanks to Swell Technology, Kde-look and special thanks to the guys of Nuvola Mailinglist: Marcel Dierkes, Christian Szabo and Virginie Quesnay. \ No newline at end of file
diff --git a/swat/images/widgets/windows/arrows/down.gif b/swat/images/widgets/windows/arrows/down.gif
new file mode 100644
index 0000000000..7a73f82726
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/down.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/down_small.gif b/swat/images/widgets/windows/arrows/down_small.gif
new file mode 100644
index 0000000000..ea60995e1b
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/down_small.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/down_tiny.gif b/swat/images/widgets/windows/arrows/down_tiny.gif
new file mode 100644
index 0000000000..928f52805f
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/down_tiny.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/first.png b/swat/images/widgets/windows/arrows/first.png
new file mode 100644
index 0000000000..89fcc75e13
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/first.png
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/forward.gif b/swat/images/widgets/windows/arrows/forward.gif
new file mode 100644
index 0000000000..809e8fdb90
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/forward.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/last.png b/swat/images/widgets/windows/arrows/last.png
new file mode 100644
index 0000000000..f7bcbedf99
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/last.png
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/left.png b/swat/images/widgets/windows/arrows/left.png
new file mode 100644
index 0000000000..ace0782dfe
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/left.png
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/minimize.gif b/swat/images/widgets/windows/arrows/minimize.gif
new file mode 100644
index 0000000000..c5b586e509
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/minimize.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/next.gif b/swat/images/widgets/windows/arrows/next.gif
new file mode 100644
index 0000000000..d9c246f1e7
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/next.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/previous.gif b/swat/images/widgets/windows/arrows/previous.gif
new file mode 100644
index 0000000000..7189c2306b
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/previous.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/rewind.gif b/swat/images/widgets/windows/arrows/rewind.gif
new file mode 100644
index 0000000000..2ad09109e9
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/rewind.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/right.png b/swat/images/widgets/windows/arrows/right.png
new file mode 100644
index 0000000000..2c3e8ed109
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/right.png
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/up.gif b/swat/images/widgets/windows/arrows/up.gif
new file mode 100644
index 0000000000..9452da0543
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/up.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/up_small.gif b/swat/images/widgets/windows/arrows/up_small.gif
new file mode 100644
index 0000000000..fc815ba417
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/up_small.gif
Binary files differ
diff --git a/swat/images/widgets/windows/arrows/up_tiny.gif b/swat/images/widgets/windows/arrows/up_tiny.gif
new file mode 100644
index 0000000000..34dc4e8e3f
--- /dev/null
+++ b/swat/images/widgets/windows/arrows/up_tiny.gif
Binary files differ
diff --git a/swat/images/widgets/windows/cursors/alias.gif b/swat/images/widgets/windows/cursors/alias.gif
new file mode 100644
index 0000000000..3b46c72422
--- /dev/null
+++ b/swat/images/widgets/windows/cursors/alias.gif
Binary files differ
diff --git a/swat/images/widgets/windows/cursors/copy.gif b/swat/images/widgets/windows/cursors/copy.gif
new file mode 100644
index 0000000000..2a59a4aef8
--- /dev/null
+++ b/swat/images/widgets/windows/cursors/copy.gif
Binary files differ
diff --git a/swat/images/widgets/windows/cursors/move.gif b/swat/images/widgets/windows/cursors/move.gif
new file mode 100644
index 0000000000..adc9a6477d
--- /dev/null
+++ b/swat/images/widgets/windows/cursors/move.gif
Binary files differ
diff --git a/swat/images/widgets/windows/cursors/nodrop.gif b/swat/images/widgets/windows/cursors/nodrop.gif
new file mode 100644
index 0000000000..3a25866507
--- /dev/null
+++ b/swat/images/widgets/windows/cursors/nodrop.gif
Binary files differ
diff --git a/swat/images/widgets/windows/menu/checkbox.gif b/swat/images/widgets/windows/menu/checkbox.gif
new file mode 100644
index 0000000000..767f285b57
--- /dev/null
+++ b/swat/images/widgets/windows/menu/checkbox.gif
Binary files differ
diff --git a/swat/images/widgets/windows/menu/radiobutton.gif b/swat/images/widgets/windows/menu/radiobutton.gif
new file mode 100644
index 0000000000..b6cfa37a8e
--- /dev/null
+++ b/swat/images/widgets/windows/menu/radiobutton.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/cross.gif b/swat/images/widgets/windows/tree/cross.gif
new file mode 100644
index 0000000000..4d40453ab4
--- /dev/null
+++ b/swat/images/widgets/windows/tree/cross.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/cross_minus.gif b/swat/images/widgets/windows/tree/cross_minus.gif
new file mode 100644
index 0000000000..d69c2d6972
--- /dev/null
+++ b/swat/images/widgets/windows/tree/cross_minus.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/cross_plus.gif b/swat/images/widgets/windows/tree/cross_plus.gif
new file mode 100644
index 0000000000..2102d91978
--- /dev/null
+++ b/swat/images/widgets/windows/tree/cross_plus.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/end.gif b/swat/images/widgets/windows/tree/end.gif
new file mode 100644
index 0000000000..7cd50aa02f
--- /dev/null
+++ b/swat/images/widgets/windows/tree/end.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/end_minus.gif b/swat/images/widgets/windows/tree/end_minus.gif
new file mode 100644
index 0000000000..d53ce116ba
--- /dev/null
+++ b/swat/images/widgets/windows/tree/end_minus.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/end_plus.gif b/swat/images/widgets/windows/tree/end_plus.gif
new file mode 100644
index 0000000000..301872a7ef
--- /dev/null
+++ b/swat/images/widgets/windows/tree/end_plus.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/line.gif b/swat/images/widgets/windows/tree/line.gif
new file mode 100644
index 0000000000..b3d88205e7
--- /dev/null
+++ b/swat/images/widgets/windows/tree/line.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/minus.gif b/swat/images/widgets/windows/tree/minus.gif
new file mode 100644
index 0000000000..b7da5b892d
--- /dev/null
+++ b/swat/images/widgets/windows/tree/minus.gif
Binary files differ
diff --git a/swat/images/widgets/windows/tree/plus.gif b/swat/images/widgets/windows/tree/plus.gif
new file mode 100644
index 0000000000..c006f8514f
--- /dev/null
+++ b/swat/images/widgets/windows/tree/plus.gif
Binary files differ
diff --git a/swat/images/widgets/windows/window/close.gif b/swat/images/widgets/windows/window/close.gif
new file mode 100644
index 0000000000..d6b727338d
--- /dev/null
+++ b/swat/images/widgets/windows/window/close.gif
Binary files differ
diff --git a/swat/images/widgets/windows/window/maximize.gif b/swat/images/widgets/windows/window/maximize.gif
new file mode 100644
index 0000000000..ae5e941d4f
--- /dev/null
+++ b/swat/images/widgets/windows/window/maximize.gif
Binary files differ
diff --git a/swat/images/widgets/windows/window/minimize.gif b/swat/images/widgets/windows/window/minimize.gif
new file mode 100644
index 0000000000..c5b586e509
--- /dev/null
+++ b/swat/images/widgets/windows/window/minimize.gif
Binary files differ
diff --git a/swat/images/widgets/windows/window/restore.gif b/swat/images/widgets/windows/window/restore.gif
new file mode 100644
index 0000000000..2910d37b78
--- /dev/null
+++ b/swat/images/widgets/windows/window/restore.gif
Binary files differ
diff --git a/swat/menu.js b/swat/menu.js
index 6d468d13cc..38052091d6 100644
--- a/swat/menu.js
+++ b/swat/menu.js
@@ -10,6 +10,7 @@ swat_menus.main = simple_menu(
"Main Menu",
"Servers", session_uri("/?menu=servers"),
"Installation", session_uri("/install/"),
+ "Configuration", session_uri("/config/"),
"ESP Tests", session_uri("/esptest/"));
swat_menus.servers = simple_menu(
@@ -30,7 +31,8 @@ swat_menus.esptest = simple_menu(
"session variables", session_uri("/esptest/session.esp"),
"loadparm access", session_uri("/esptest/loadparm.esp"),
"exception handling", session_uri("/esptest/exception.esp"),
- "environment variables", session_uri("/esptest/showvars.esp"));
+ "environment variables", session_uri("/esptest/showvars.esp"),
+ "qooxdoo", session_uri("/esptest/qooxdoo.esp"));
swat_menus.install = simple_menu(
diff --git a/swat/scripting/header_columns.esp b/swat/scripting/header_columns.esp
index 20238b588e..062e1ee483 100644
--- a/swat/scripting/header_columns.esp
+++ b/swat/scripting/header_columns.esp
@@ -3,11 +3,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
+<script type="text/javascript" src="/style/qooxdoo/widgets/qooxdoo.js"></script>
+
<title>@@global.page.title</title>
<link rel="stylesheet" href="/style/common.css" type="text/css" media="all" />
<link rel="stylesheet" href="/style/columns.css" type="text/css" media="all" />
<link rel="stylesheet" href="/style/swat.css" type="text/css" media="all" />
+<link rel="stylesheet" href="/style/qooxdoo/layouts/application.css" type="text/css" media="all" />
<link rel="shortcut icon" href="/images/favicon.ico" />
<!--[if gte IE 5.5]>
@@ -81,4 +84,4 @@ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/logo.png'
<div id="content">
- <div class="center">
+ <div id="middle" class="center">
diff --git a/swat/style/qooxdoo/core.css b/swat/style/qooxdoo/core.css
new file mode 100644
index 0000000000..789615f72d
--- /dev/null
+++ b/swat/style/qooxdoo/core.css
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+*{box-sizing:border-box;-moz-box-sizing:border-box;margin:0;padding:0;} body,html{border:0 none;background:ThreeDFace;color:#000;font:11px Tahoma,"Lucida Sans Unicode","Lucida Grande",Verdana,"Bitstream Vera Sans",Arial,sans-serif;} body{padding-top:1px;} * html body,:root body{padding-top:0;} td,th{font:11px Tahoma,"Lucida Sans Unicode","Lucida Grande",Verdana,"Bitstream Vera Sans",Arial,sans-serif;} a{color:#094C81;} p{margin:0;padding:0;margin-bottom:6px;} hr{border:0 none;border-top:1px solid ThreeDShadow;border-bottom:1px solid ThreeDHighlight;height:2px;margin:0 !important;padding:0 !important;margin-bottom:4px !important;} img{box-sizing:content-box;-moz-box-sizing:content-box;border:0 none;} ul,ol{list-style:none;} .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;} * html .clearfix{height:1%;} \ No newline at end of file
diff --git a/swat/style/qooxdoo/layouts/application.css b/swat/style/qooxdoo/layouts/application.css
new file mode 100644
index 0000000000..d30d5f3f3f
--- /dev/null
+++ b/swat/style/qooxdoo/layouts/application.css
@@ -0,0 +1,5 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+@import url(../core.css);
+@import url(../test.css);
+@import url(../themes.css);
+@import url(../widgets.css);
diff --git a/swat/style/qooxdoo/layouts/page.css b/swat/style/qooxdoo/layouts/page.css
new file mode 100644
index 0000000000..42ed7433fa
--- /dev/null
+++ b/swat/style/qooxdoo/layouts/page.css
@@ -0,0 +1,6 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+@import url(../core.css);
+@import url(../test.css);
+@import url(../themes.css);
+@import url(../widgets.css);
+#testFoot{top:0;bottom:auto;width:300px;left:300px;border-top:0 none;border-bottom:2px solid #fff;} #testFrame{display:none;} #testDebug{bottom:15px;} \ No newline at end of file
diff --git a/swat/style/qooxdoo/test.css b/swat/style/qooxdoo/test.css
new file mode 100644
index 0000000000..9e490866ab
--- /dev/null
+++ b/swat/style/qooxdoo/test.css
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+#testHead,#testFoot{background:#052B5C;position:absolute;left:0;right:0;width:100%;font-weight:bold;padding:4px 10px;color:#fff;} #testHead span,#testFoot span{font-weight:normal;} #testHead{top:0;border-bottom:2px solid #fff;} #testFoot{bottom:0;border-top:2px solid #fff;} #testFoot a{color:#fff;text-decoration:none;} #testDebug{position:absolute;bottom:35px;top:195px;right:8px;width:300px;background:#fff;border:1px solid #000;font:10px "Bitstream Vera Sans Mono",monospace;overflow:auto;padding:4px 8px;border:2px groove;-moz-border-top-colors:ThreeDShadow ThreeDHighlight;-moz-border-right-colors:ThreeDHighlight ThreeDShadow;-moz-border-bottom-colors:ThreeDHighlight ThreeDShadow;-moz-border-left-colors:ThreeDShadow ThreeDHighlight;} * html #testDebug{height:expression((document.body.offsetHeight - 232) + "px");} #testDescription{position:absolute;top:35px;right:8px;width:300px;height:150px;overflow:auto;padding:4px 8px;border:2px groove;-moz-border-top-colors:ThreeDShadow ThreeDHighlight;-moz-border-right-colors:ThreeDHighlight ThreeDShadow;-moz-border-bottom-colors:ThreeDHighlight ThreeDShadow;-moz-border-left-colors:ThreeDShadow ThreeDHighlight;} #testDescription p{margin:0;padding:0;margin-bottom:6px;} #testFrame{position:absolute;top:35px;left:8px;right:320px;bottom:35px;border:2px groove;-moz-border-top-colors:ThreeDShadow ThreeDHighlight;-moz-border-right-colors:ThreeDHighlight ThreeDShadow;-moz-border-bottom-colors:ThreeDHighlight ThreeDShadow;-moz-border-left-colors:ThreeDShadow ThreeDHighlight;} * html #testFrame{height:expression((document.body.offsetHeight - 72) + "px");width:expression((document.body.offsetWidth - 328) + "px");} #testFiles{position:absolute;right:320px;top:0px;font-size:11px;background:#052B5C;color:#fff;border:1px solid #052B5C;} #testFiles option{padding:1px 3px;} .manualFrame{position:absolute;border:2px groove;-moz-border-top-colors:ThreeDShadow ThreeDHighlight;-moz-border-right-colors:ThreeDHighlight ThreeDShadow;-moz-border-bottom-colors:ThreeDHighlight ThreeDShadow;-moz-border-left-colors:ThreeDShadow ThreeDHighlight;overflow:auto;padding:4px 8px;} .containerFrame{display:none;} \ No newline at end of file
diff --git a/swat/style/qooxdoo/themes.css b/swat/style/qooxdoo/themes.css
new file mode 100644
index 0000000000..26ed1e5544
--- /dev/null
+++ b/swat/style/qooxdoo/themes.css
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+@import url(themes/win9x/theme.css);
+@import url(themes/winxp/theme.css);
diff --git a/swat/style/qooxdoo/themes/osx/grad_blue.gif b/swat/style/qooxdoo/themes/osx/grad_blue.gif
new file mode 100755
index 0000000000..751a7a3a24
--- /dev/null
+++ b/swat/style/qooxdoo/themes/osx/grad_blue.gif
Binary files differ
diff --git a/swat/style/qooxdoo/themes/osx/grad_gray.gif b/swat/style/qooxdoo/themes/osx/grad_gray.gif
new file mode 100755
index 0000000000..dc87940d2d
--- /dev/null
+++ b/swat/style/qooxdoo/themes/osx/grad_gray.gif
Binary files differ
diff --git a/swat/style/qooxdoo/themes/osx/pin_dark.gif b/swat/style/qooxdoo/themes/osx/pin_dark.gif
new file mode 100755
index 0000000000..844277d476
--- /dev/null
+++ b/swat/style/qooxdoo/themes/osx/pin_dark.gif
Binary files differ
diff --git a/swat/style/qooxdoo/themes/osx/toolbar_bg.gif b/swat/style/qooxdoo/themes/osx/toolbar_bg.gif
new file mode 100755
index 0000000000..9b78191d1a
--- /dev/null
+++ b/swat/style/qooxdoo/themes/osx/toolbar_bg.gif
Binary files differ
diff --git a/swat/style/qooxdoo/themes/win9x/radiobuttonbackground.gif b/swat/style/qooxdoo/themes/win9x/radiobuttonbackground.gif
new file mode 100644
index 0000000000..467da46f25
--- /dev/null
+++ b/swat/style/qooxdoo/themes/win9x/radiobuttonbackground.gif
Binary files differ
diff --git a/swat/style/qooxdoo/themes/win9x/theme.css b/swat/style/qooxdoo/themes/win9x/theme.css
new file mode 100644
index 0000000000..bc51fd8c5e
--- /dev/null
+++ b/swat/style/qooxdoo/themes/win9x/theme.css
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+body.QxThemeWin9x .QxMenuBarButton-Hover{border:1px solid ThreeDHighlight;border-right-color:ThreeDShadow;border-bottom-color:ThreeDShadow;padding:3px 7px 2px 7px;} body.QxThemeWin9x .QxMenuBarButton-Pressed{border:1px solid ThreeDHighlight;border-left-color:ThreeDShadow;border-top-color:ThreeDShadow;padding:3px 7px 2px 7px;} body.QxThemeWin9x .QxMenu{background:Menu;padding:1px;border:2px outset;-moz-border-top-colors:ThreeDLightShadow ThreeDHighlight;-moz-border-right-colors:ThreeDDarkShadow ThreeDShadow;-moz-border-bottom-colors:ThreeDDarkShadow ThreeDShadow;-moz-border-left-colors:ThreeDLightShadow ThreeDHighlight;margin-left:-1px;} body.QxThemeWin9x .QxToolBar{border:1px solid ThreeDShadow;border-top:1px solid ThreeDHighlight;border-left:1px solid ThreeDHighlight;} body.QxThemeWin9x .QxToolBarPartHandleLine{width:4px;border-left:1px solid ThreeDHighlight;border-bottom:1px solid ThreeDShadow;border-right:1px solid ThreeDShadow;border-top:1px solid ThreeDHighlight;} body.QxThemeWin9x .QxToolBarSeparatorLine{border-left:1px solid ThreeDShadow;border-right:1px solid ThreeDHighlight;} body.QxThemeWin9x .QxToolBarButton-Hover,body.QxThemeWin9x .QxToolBarCheckBox-Hover,body.QxThemeWin9x .QxToolBarRadioButton-Hover,body.QxThemeWin9x .QxToolBarMenuButton-Hover{padding:2px 3px 2px 3px;border-left:1px solid ThreeDHighlight;border-bottom:1px solid ThreeDShadow;border-right:1px solid ThreeDShadow;border-top:1px solid ThreeDHighlight;} body.QxThemeWin9x .QxToolBarButton-Checked,body.QxThemeWin9x .QxToolBarButton-Pressed,body.QxThemeWin9x .QxToolBarCheckBox-Checked,body.QxThemeWin9x .QxToolBarCheckBox-Pressed,body.QxThemeWin9x .QxToolBarRadioButton-Checked,body.QxThemeWin9x .QxToolBarRadioButton-Pressed,body.QxThemeWin9x .QxToolBarMenuButton-Checked,body.QxThemeWin9x .QxToolBarMenuButton-Pressed{padding:3px 2px 1px 4px;border-left:1px solid ThreeDShadow;border-bottom:1px solid ThreeDHighlight;border-right:1px solid ThreeDHighlight;border-top:1px solid ThreeDShadow;} body.QxThemeWin9x .QxToolBarButton-Checked,body.QxThemeWin9x .QxToolBarCheckBox-Checked,body.QxThemeWin9x .QxToolBarRadioButton-Checked,body.QxThemeWin9x .QxToolBarMenuButton-Checked{background:url(radiobuttonbackground.gif) top left;} body.QxThemeWin9x .QxWindow > .QxWindowCaptionBar{background:#808080 url(windowcaption_inactive.png) top right repeat-y;} body.QxThemeWin9x .QxWindow-Active > .QxWindowCaptionBar{background:#0A246A url(windowcaption_active.png) top right repeat-y;} \ No newline at end of file
diff --git a/swat/style/qooxdoo/themes/win9x/windowcaption_active.png b/swat/style/qooxdoo/themes/win9x/windowcaption_active.png
new file mode 100644
index 0000000000..02da51f022
--- /dev/null
+++ b/swat/style/qooxdoo/themes/win9x/windowcaption_active.png
Binary files differ
diff --git a/swat/style/qooxdoo/themes/win9x/windowcaption_inactive.png b/swat/style/qooxdoo/themes/win9x/windowcaption_inactive.png
new file mode 100644
index 0000000000..a080239b01
--- /dev/null
+++ b/swat/style/qooxdoo/themes/win9x/windowcaption_inactive.png
Binary files differ
diff --git a/swat/style/qooxdoo/themes/winxp/menubackground.gif b/swat/style/qooxdoo/themes/winxp/menubackground.gif
new file mode 100644
index 0000000000..f7c5589e54
--- /dev/null
+++ b/swat/style/qooxdoo/themes/winxp/menubackground.gif
Binary files differ
diff --git a/swat/style/qooxdoo/themes/winxp/theme.css b/swat/style/qooxdoo/themes/winxp/theme.css
new file mode 100644
index 0000000000..8da8197b84
--- /dev/null
+++ b/swat/style/qooxdoo/themes/winxp/theme.css
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+body.QxThemeWinXP .QxMenuBarButton-Hover{background:#B7BFD4;border:1px solid #000;padding:3px 7px 2px 7px;} body.QxThemeWinXP .QxMenuBarButton-Pressed{background:#DBD8D1;border:1px solid #808080;border-bottom:0 none;padding:3px 7px 3px 7px;} body.QxThemeWinXP .QxMenu{padding:1px 1px 1px 1px;background:#fff url(menubackground.gif) top left repeat-y;border:1px solid #808080;border-right:2px outset #AFA899;border-bottom:2px outset #AFA899;-moz-border-right-colors:#808080 #AFA899;-moz-border-bottom-colors:#808080 #AFA899;} body.QxThemeWinXP .QxMenuSeparator{margin-left:24px;} body.QxThemeWinXP .QxMenuButton,body.QxThemeWinXP .QxMenuCheckBox,body.QxThemeWinXP .QxMenuRadioButton{border:0 none;} body.QxThemeWinXP .QxMenuButton-Hover,body.QxThemeWinXP .QxMenuCheckBox-Hover,body.QxThemeWinXP .QxMenuRadioButton-Hover{border:1px solid #0A246A;background-color:#B7BFD4;color:black;} body.QxThemeWinXP .QxMenuButton-Hover *,body.QxThemeWinXP .QxMenuCheckBox-Hover *,body.QxThemeWinXP .QxMenuRadioButton-Hover *{margin-left:-1px;} body.QxThemeWinXP .QxMenuSeparator{padding-right:0;} body.QxThemeWinXP .QxMenuButtonText{padding-left:4px;} body.QxThemeWinXP .QxToolBar{border:1px solid #D4D0C8;} body.QxThemeWinXP .QxToolBarPart{background:#DBD8D1;} body.QxThemeWinXP .QxToolBarPartHandleLine{background:url(toolbarparthandle.gif) top repeat-y;width:7px;} body.QxThemeWinXP .QxToolBarSeparatorLine{border-left:1px solid #808080;} body.QxThemeWinXP .QxToolBarButton,body.QxThemeWinXP .QxToolBarCheckBox,body.QxThemeWinXP .QxToolBarRadioButton,body.QxThemeWinXP .QxToolBarMenuButton{margin-right:1px;} body.QxThemeWinXP .QxToolBarButton-Hover,body.QxThemeWinXP .QxToolBarCheckBox-Hover,body.QxThemeWinXP .QxToolBarRadioButton-Hover,body.QxThemeWinXP .QxToolBarMenuButton-Hover{padding:2px 3px 2px 3px;border:1px solid #666666;background:#B7BFD4;} body.QxThemeWinXP .QxToolBarButton-Checked,body.QxThemeWinXP .QxToolBarButton-Pressed,body.QxThemeWinXP .QxToolBarCheckBox-Checked,body.QxThemeWinXP .QxToolBarCheckBox-Pressed,body.QxThemeWinXP .QxToolBarRadioButton-Checked,body.QxThemeWinXP .QxToolBarRadioButton-Pressed,body.QxThemeWinXP .QxToolBarMenuButton-Checked,body.QxThemeWinXP .QxToolBarMenuButton-Pressed{padding:2px 3px 2px 3px;border:1px solid #0A246A;background:#8893B1;} body.QxThemeWinXP .QxToolBarButton-Checked,body.QxThemeWinXP .QxToolBarCheckBox-Checked,body.QxThemeWinXP .QxToolBarRadioButton-Checked,body.QxThemeWinXP .QxToolBarMenuButton-Checked{background:#DBD8D1;} \ No newline at end of file
diff --git a/swat/style/qooxdoo/themes/winxp/toolbarparthandle.gif b/swat/style/qooxdoo/themes/winxp/toolbarparthandle.gif
new file mode 100644
index 0000000000..9772d787a1
--- /dev/null
+++ b/swat/style/qooxdoo/themes/winxp/toolbarparthandle.gif
Binary files differ
diff --git a/swat/style/qooxdoo/widgets.css b/swat/style/qooxdoo/widgets.css
new file mode 100644
index 0000000000..33fa321e14
--- /dev/null
+++ b/swat/style/qooxdoo/widgets.css
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+.QxWidget{display:block;overflow:hidden;position:absolute;visibility:visible;white-space:nowrap;} .QxWidget{overflow:-moz-scrollbars-none;} .QxBlocker{position:absolute;overflow:hidden;cursor:default;} .QxBlocker{overflow:-moz-scrollbars-none;} .QxDisabled{color:gray !important;} .QxFocused{outline:1px dotted invert;-moz-outline:1px dotted invert;} input[QxFocused],textarea[QxFocused],body[QxFocused],html[QxFocused]{outline:none;-moz-outline:none;} .QxPasswordField,.QxTextField{position:absolute;font-family:Tahoma,"Lucida Sans Unicode","Lucida Grande",Verdana,"Bitstream Vera Sans",Arial,sans-serif;font-size:11px;line-height:11px;padding:2px 3px;width:150px;} * html .QxPasswordField{padding-left:2px;padding-right:2px;} .QxPasswordField,.QxTextField{overflow:-moz-scrollbars-none;} .QxTextArea{font-family:Bitstream Vera Sans Mono,monospace;font-size:11px;height:100px;padding:2px;position:absolute;width:250px;} .QxTextField-Focused,.QxPasswordField-Focused,.QxTextArea-Focused{outline:none;-moz-outline:none;} .QxImage{display:inline;position:absolute;} .QxContainer{position:absolute;white-space:normal;} .QxAtomBase{position:absolute;cursor:default;white-space:nowrap;overflow:hidden;} .QxAtomBase{overflow:-moz-scrollbars-none;} .QxAtomBase .QxImage,.QxAtomBase .QxInputCheckIcon{position:absolute;} .QxAtomBase .QxContainer{white-space:nowrap;} .QxInputCheckIcon{height:13px;width:13px;-moz-user-focus:none;user-focus:none;-moz-user-select:none;user-select:none;margin:0;padding:0;} .QxRadioButton,.QxCheckBox{padding:2px;} .QxPopup,.QxToolTip,.QxMenu{visibility:hidden;z-index:100000;user-select:none;-moz-user-select:none;} .QxToolTip{background-color:Infobackground;color:InfoText;border:1px solid InfoText;padding:1px 3px 2px;z-index:1000000;} .QxButton{position:absolute;padding:2px 4px;background:Threedface;} .QxToolBar{position:absolute;white-space:nowrap;border:1px solid ThreeDShadow;overflow:hidden;} .QxToolBarPartHandleLine,.QxToolBarSeparatorLine{position:absolute;} .QxToolBarPart{white-space:nowrap;overflow:hidden;} .QxToolBarButton,.QxToolBarCheckBox,.QxToolBarRadioButton,.QxToolBarMenuButton,.QxToolBarSeparator,.QxToolBarPart,.QxToolBarPartHandle{position:relative !important;float:left;} .QxToolBarButton,.QxToolBarCheckBox,.QxToolBarRadioButton,.QxToolBarMenuButton{padding:3px 4px 3px 4px;} .QxToolBarButton-Hover,.QxToolBarCheckBox-Hover,.QxToolBarRadioButton-Hover,.QxToolBarMenuButton-Hover{padding:2px 3px 2px 3px;border:1px outset;} .QxToolBarButton-Checked,.QxToolBarButton-Pressed,.QxToolBarCheckBox-Checked,.QxToolBarCheckBox-Pressed,.QxToolBarRadioButton-Checked,.QxToolBarRadioButton-Pressed,.QxToolBarMenuButton-Checked,.QxToolBarMenuButton-Pressed{padding:2px 3px 2px 3px;border:1px inset;} .QxTree{position:absolute;user-select:none;-moz-user-select:none;cursor:default;} .QxTree table{vertical-align:top;display:none;user-select:none;-moz-user-select:none;} .QxTree ul ul{display:none;} .QxTree ul,.QxTree li{list-style:none;margin:0;padding:0;user-select:none;-moz-user-select:none;} * html .QxTree ul{border-top:1px solid #fff;margin-top:-1px;} .QxTree li{display:block;} .QxTree table{position:relative;top:0;bottom:0;} .QxTree,.QxTreeFile,.QxTreeFolder{cursor:default;display:block;white-space:nowrap;-moz-user-select:none;user-select:none;} .QxTree img,.QxTreeFile img,.QxTreeFolder img{vertical-align:bottom;width:16px;height:16px;-moz-user-select:none;user-select:none;} .QxTreeElementNavigationCell img,.QxTreeElementIndentCell img{width:19px;height:16px;} .QxTreeElementIconCell{padding-right:2px;} .QxTreeElementLabelCell{padding-right:4px;padding-left:2px;white-space:nowrap;} .QxTreeElementLabelCellHover{text-decoration:underline;color:#000080;} .QxTreeElementLabelCellSelected{background:#3662E7;color:#fff;} .QxListView{position:absolute;overflow:hidden;cursor:default;border:1px solid ThreeDShadow;width:400px;height:150px;} .QxListViewHeader,.QxListViewContent{position:absolute;left:0;top:0;} .QxListViewHeader{background:ThreeDFace;overflow:hidden;z-index:101;visibility:hidden;} .QxListViewContent{overflow:auto;height:100%;width:100%;z-index:100;} .QxListViewHeader > .QxListViewHeaderTable,.QxListViewContent > .QxListViewContentTable{table-layout:fixed;} .QxListViewHeaderTable{position:relative;} .QxListViewContentTable{position:absolute;top:0;left:0;margin-top:20px;} .QxListViewContentCell,.QxListViewHeaderCell{text-align:left;white-space:nowrap;font-size:11px;font-weight:normal;cursor:inherit;user-select:none;-moz-user-select:none;margin:0;} .QxListViewHeaderCell{border-top:0 none;border-left:1px solid #fff;border-right:1px solid #666666;border-bottom:2px solid ThreedShadow;padding:3px 4px 3px 4px;} .QxListViewContentCell{background:#fff;border:1px solid #fff;border-bottom:1px solid ThreedLightShadow;border-right:1px solid ThreedLightShadow;padding:1px 4px 1px 4px;} .QxListViewHeaderInner{width:100%;} .QxListViewHeaderInnerText{text-align:left;width:100%;} .QxListViewHeaderInnerSort{text-align:right;width:11px;} .QxListViewHeaderInnerTextBox{font-weight:normal;white-space:nowrap;} .QxListViewHeaderInnerSortImage{width:7px;height:4px;margin-left:3px;margin-right:1px;vertical-align:middle;} .QxListViewContentBox{white-space:nowrap;width:100%;height:100%;overflow:hidden;} .QxListViewHeaderOverflow .QxListViewHeaderInnerTextBox,.QxListViewContentOverflow .QxListViewContentBox{text-overflow:ellipsis;overflow:hidden;} .QxListViewContentRowSelected .QxListViewContentCell{background:Highlight;color:HighlightText;border-top-color:Highlight;border-left-color:Highlight;border-bottom-color:ThreedShadow;border-right-color:ThreedShadow;filter:Alpha(Opacity=100,FinishOpacity=75,Style=1,StartX=0,StartY=0,FinishX=0,FinishY=100);} .QxListViewContentBox img{position:relative;top:-1px;width:16px;height:16px;vertical-align:middle;margin-right:3px;} .QxFieldSet{position:absolute;padding:0;width:150px;height:100px;} .QxFieldSetFrame{position:absolute;margin-top:7px;border:2px groove;-moz-border-top-colors:ThreeDShadow ThreeDHighlight;-moz-border-right-colors:ThreeDHighlight ThreeDShadow;-moz-border-bottom-colors:ThreeDHighlight ThreeDShadow;-moz-border-left-colors:ThreeDShadow ThreeDHighlight;} @media all and(min-width:0px){.QxFieldSetFrame{border:2px groove ThreeDHighlight;} }.QxFieldSetLegend{display:none;position:absolute;font-size:11px;font-weight:normal;background:threedface;margin:-8px 35px 0 8px;padding:1px 3px 1px 3px;-moz-user-select:none;user-select:none;cursor:default;white-space:nowrap;} .QxFieldSetContent{position:absolute;margin:12px 11px 8px 11px;overflow:hidden;} .QxFieldSetContent{overflow:-moz-scrollbars-none;} .QxInline{display:block;position:relative;width:100%;overflow:hidden;} :root .QxInline{overflow:visible;} .QxTabFrame,.QxTab,.QxTabBar,.QxTabPane,.QxTabPage{overflow:hidden;position:absolute;} .QxTabFrame,.QxTab,.QxTabBar,.QxTabPane,.QxTabPage{overflow:-moz-scrollbars-none;} .QxTabBar{white-space:nowrap;z-index:2;margin-left:1px;} .QxTabPane{z-index:1;background-color:ThreeDFace;} .QxTab{cursor:default;z-index:1;margin-top:1px;background-color:ThreeDFace;border-left:1px solid ThreeDHighlight;border-right:2px outset;-moz-border-right-colors:ThreeDDarkShadow ThreeDShadow;} .QxTab-Checked{z-index:2;margin-top:0;} .QxTabBar-TopLeft .QxTab,.QxTabBar-TopRight .QxTab{border-top:1px solid ThreeDHighlight;padding:3px 6px 2px 8px;} .QxTabBar-TopLeft .QxTab-Checked,.QxTabBar-TopRight .QxTab-Checked{padding:2px 6px 3px 8px;} .QxTabBar-BottomLeft .QxTab,.QxTabBar-BottomRight .QxTab{border-bottom:2px outset;-moz-border-bottom-colors:ThreeDDarkShadow ThreeDShadow;padding:1px 6px 3px 8px;} .QxTabBar-BottomLeft .QxTab-Checked,.QxTabBar-BottomRight .QxTab-Checked{padding:2px 6px 2px 8px;} .QxIframe,.QxHtmlArea{display:block;overflow:hidden;position:absolute;visibility:visible;background:ThreeDFace;} .QxIframe,.QxHtmlArea{overflow:-moz-scrollbars-none;} .QxList{display:block;overflow:hidden;position:absolute;visibility:visible;background:#fff;border:1px solid #000;width:120px;} .QxListItem{border:1px solid #fff;padding:1px 5px 3px;position:relative;cursor:default;} .QxListItem-Selected,.QxListItem-Selected *{border-color:highlight;background-color:highlight;color:highlighttext;} .QxListItem-Lead{border-color:ThreeDShadow;} .QxBarSelectorPane,.QxBarSelectorPage,.QxBarSelectorFrame,.QxBarSelectorBar{overflow:hidden;position:absolute;} .QxBarSelectorBar{background:#fff;} .QxBarSelectorPane{background:#EFF4FB;} .QxBarSelectorButton{border:1px solid #fff;padding:4px;} .QxBarSelectorButton-Checked{background:#C1D2EE;} .QxBarSelectorBar-Top{border-bottom:1px solid #316AC5;} .QxBarSelectorBar-Right{border-left:1px solid #316AC5;} .QxBarSelectorBar-Bottom{border-top:1px solid #316AC5;} .QxBarSelectorBar-Left{border-right:1px solid #316AC5;} .QxBarSelectorBar-Top .QxBarSelectorButton,.QxBarSelectorBar-Bottom .QxBarSelectorButton{position:relative;float:left;padding-top:5px;padding-bottom:5px;border-top:0 none;border-bottom:0 none;margin-left:3px;margin-right:3px;} .QxBarSelectorBar-Left .QxBarSelectorButton,.QxBarSelectorBar-Right .QxBarSelectorButton{position:relative;padding-left:5px;padding-right:5px;border-left:0 none;border-right:0 none;margin-top:3px;margin-bottom:3px;} .QxBarSelectorBar-Top .QxBarSelectorButton-Checked,.QxBarSelectorBar-Bottom .QxBarSelectorButton-Checked{border-left-color:#316AC5;border-right-color:#316AC5;} .QxBarSelectorBar-Left .QxBarSelectorButton-Checked,.QxBarSelectorBar-Right .QxBarSelectorButton-Checked{border-top-color:#316AC5;border-bottom-color:#316AC5;} .QxComboBox{position:absolute;background:#fff;} .QxComboBox .QxWidget{background:threedface;padding:0;} .QxComboBox .QxTextField{border:0 none;padding:0;margin:0;padding-top:2px;background:none;} * html .QxComboBox .QxTextField{padding-top:4px;} .QxComboBox-Mark,.QxComboBox-Mark .QxTextField,.QxComboBox-Mark .QxAtom,.QxComboBox-Mark .QxAtom *{background-color:highlight;color:highlighttext;} .QxComboBox .QxListItem-Lead{border-color:#fff;} .QxMenu{border:2px outset;background:Menu;padding:2px 1px 1px 2px;} .QxMenuButton,.QxMenuCheckBox,.QxMenuRadioButton{position:relative;padding:1px 6px 1px 2px;border:1px solid Menu;overflow:hidden;} .QxMenuButton-Hover,.QxMenuCheckBox-Hover,.QxMenuRadioButton-Hover{background-color:#82A4D1;} .QxMenuButton .QxImage,.QxMenuButton .QxContainer,.QxMenuCheckBox .QxImage,.QxMenuCheckBox .QxContainer,.QxMenuRadioButton .QxImage,.QxMenuRadioButton .QxContainer{position:absolute;} .QxMenuSeparator{padding:3px 2px 2px 2px;font-size:0;line-height:0;} .QxMenuSeparatorLine{height:2px;border-top:1px solid ThreeDShadow;border-bottom:1px solid ThreeDHighlight;} .QxMenuBar{display:block;overflow:hidden;position:absolute;visibility:visible;white-space:nowrap;} .QxMenuBar{overflow:-moz-scrollbars-none;} .QxMenuBarButton{display:block;position:absolute;visibility:visible;white-space:nowrap;cursor:default;border:0 none;padding:4px 8px 3px 8px;} .QxMenuBar .QxMenuBarButton{position:relative;vertical-align:top;float:left;} .QxSpinner{position:absolute;background:#fff;} .QxSpinner .QxWidget{background:threedface;padding:0;} .QxSpinner .QxTextField{border:0 none;padding:0;margin:0;padding:2px 3px;} * html .QxSpinner .QxTextField{padding-top:3px;} .QxWindow{background:ThreeDFace;padding:2px;} .QxWindow .QxWindowPane{position:absolute;background:ThreeDFace;color:black;overflow:hidden;} .QxWindow .QxWindowCaptionBar{color:#fff;font-weight:bold;position:absolute;padding:1px 2px;background-color:#808080;filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#808080',endColorStr='#C0C0C0',gradientType='1');} .QxWindow-Active .QxWindowCaptionBar{background-color:#0A246A;filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#0A246A',endColorStr='#A6CAF0',gradientType='1');} .QxWindow .QxWindowCaptionBar .QxButton{padding:0;padding-left:1px;} .QxWindow .QxWindowStatusBar{position:absolute;padding:0 4px;} .QxBoxLayout,.QxHorizontalBoxLayout,.QxVerticalBoxLayout,.QxFlowLayout,.QxDockLayout,.QxGridLayout{position:absolute;overflow:hidden;} .QxBoxLayout,.QxHorizontalBoxLayout,.QxVerticalBoxLayout,.QxFlowLayout,.QxDockLayout,.QxGridLayout{overflow:-moz-scrollbars-none;} .QxGallery .galleryFrame{padding:2px;} .QxGallery .galleryCell{border:1px solid #444;background:#fff;margin:2px;float:left;overflow:hidden;font-family:Tahoma,Verdana,sans-serif;font-size:10px;cursor:default;-moz-user-select:none;user-select:none;} .QxGallery .galleryCell img{vertical-align:bottom;display:block;} .QxGallery .galleryCell .galleryTitle,.QxGallery .galleryCell .galleryComment{background:#eee;padding:3px 6px;text-align:center;cursor:default;overflow:hidden;white-space:nowrap;} .QxGallery .galleryCell .galleryTitle{border-bottom:1px solid #aaa;} .QxGallery .galleryCell .galleryComment{border-top:1px solid #aaa;} .QxGallery .galleryCell-Selected{background:#DCE8F6;border:1px solid #2760A1;} .QxGallery .galleryCell-Selected .galleryTitle,.QxGallery .galleryCell-Selected .galleryComment{background:#9BBFE7;} .QxGallery .galleryCell-Selected .galleryTitle{border-bottom:1px dotted #2760A1;} .QxGallery .galleryCell-Selected .galleryComment{border-top:1px dotted #2760A1;} .QxGalleryList{position:absolute;visibility:visible;} .QxGalleryList .galleryFrame{padding:2px;} .QxGalleryList .galleryCell{margin:2px;padding-bottom:2px;border:1px solid #EEE;background:#fff;overflow:hidden;white-space:normal;font-family:Tahoma,Verdana,sans-serif;font-size:12px;cursor:default;-moz-user-select:none;user-select:none;position:relative;} .QxGalleryList .galleryCell img{vertical-align:bottom;display:block;} .QxGalleryList .galleryNumber{width:45px;padding:4px;position:absolute;top:0px;left:0px;} .QxGalleryList .galleryImageContainer{position:absolute;top:0px;left:50px;} .QxGalleryList .galleryText{padding:4px;position:absolute;top:0px;left:130px;} .QxGalleryList .galleryNumber,.QxGalleryList .galleryText h3{font-weight:bold;font-size:11px;} .QxGalleryList .galleryText p{font-size:10px;} .QxGalleryList .galleryCell-Selected{background:#9BBCFF;border-color:#3B7CFF;} \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxApplication.js b/swat/style/qooxdoo/widgets/core/QxApplication.js
new file mode 100644
index 0000000000..3d1dbbafa3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxApplication.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxApplication(){if(QxApplication._instance){return QxApplication._instance;};QxTarget.call(this);window.onload=function(){window.application.init();};QxApplication._instance=this;};QxApplication.extend(QxTarget,"QxApplication");proto._clientWindow=null;proto._activeWidget=null;proto._userApplication=null;proto.coreObjects=["QxClient","QxClientWindow","QxClientDocument","QxWidget","QxEventManager","QxFocusManager","QxTarget","QxEvent","QxMouseEvent","QxKeyEvent"];proto.initcheck=function(){var ok=true;if(!document.body){return;};var c=this.coreObjects;for(var i=0,cl=c.length;i<cl;i++){if(typeof window[c[i]]!="function"){ok=false;};};if(ok){window.clearInterval(this._loadHandle);return this.init();};};proto.init=function(){window._appstart=(new Date).valueOf();var irun=(window._appstart-window._start);var iobj=QxObject._i3.length;var iper=String(irun/iobj);iper=iper.substring(0,iper.indexOf(".")+4)+"ms";this.debug("Init Runtime:"+irun+"ms");this.debug("Init Object Count:"+iobj);this.debug("Init Object Perf:"+iper);this._clientWindow=new QxClientWindow(window);if(typeof window.application.main=="function"){window.application.main();};window._appstop=window._stop=(new Date).valueOf();var mrun=(window._appstop-window._appstart);var mobj=(QxObject._i3.length-iobj);var mper=String(mrun/mobj);mper=mper.substring(0,mper.indexOf(".")+4)+"ms";this.debug("Main Runtime:"+mrun+"ms");this.debug("Main Object Count:"+mobj);this.debug("Main Object Perf:"+mper);};proto.setActiveWidget=function(v){this._activeWidget=v;};proto.getActiveWidget=function(){return this._activeWidget;};proto.getClientWindow=function(){return this._clientWindow;};proto.getPath=function(){var p=window.location.href;var v=p.substring(0,p.lastIndexOf("/"));return v;};proto.getUserApplication=function(){return this._userApplication;};proto.setUserApplication=function(userApplication){this._userApplication=userApplication;};proto.dispose=function(){if(this.getDisposed()){return;};var dispose_start=(new Date).valueOf();if(this._clientWindow){this._clientWindow.dispose();this._clientWindow=null;};this._activeWidget=null;QxTarget.prototype.dispose.call(this);QxObject.dispose();QxDebug("QxApplication","Dispose total:"+((new Date).valueOf()-dispose_start)+"ms");};window.application=new QxApplication; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxBorder.js b/swat/style/qooxdoo/widgets/core/QxBorder.js
new file mode 100644
index 0000000000..007cdd307f
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxBorder.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBorder(bWidth,bStyle,bColor){QxTarget.call(this);this._h1={};this._widgets={};this._h2={top:"",right:"",bottom:"",left:"",topColors:"",rightColors:"",bottomColors:"",leftColors:""};if(isValid(bWidth)&&bWidth!=0){this.setWidth(bWidth);};if(isValid(bStyle)){this.setStyle(bStyle);};if(isValid(bColor)){this.setColor(bColor);};};QxBorder.extend(QxTarget,"QxBorder");QxBorder.addProperty({name:"topWidth",type:Number,defaultValue:0,impl:"borderTopProperty"});QxBorder.addProperty({name:"rightWidth",type:Number,defaultValue:0,impl:"borderRightProperty"});QxBorder.addProperty({name:"bottomWidth",type:Number,defaultValue:0,impl:"borderBottomProperty"});QxBorder.addProperty({name:"leftWidth",type:Number,defaultValue:0,impl:"borderLeftProperty"});QxBorder.addProperty({name:"topStyle",type:String,defaultValue:"none",impl:"borderTopProperty"});QxBorder.addProperty({name:"rightStyle",type:String,defaultValue:"none",impl:"borderRightProperty"});QxBorder.addProperty({name:"bottomStyle",type:String,defaultValue:"none",impl:"borderBottomProperty"});QxBorder.addProperty({name:"leftStyle",type:String,defaultValue:"none",impl:"borderLeftProperty"});QxBorder.addProperty({name:"topColor",type:QxColor,defaultValue:"transparent",impl:"borderTopProperty"});QxBorder.addProperty({name:"rightColor",type:QxColor,defaultValue:"transparent",impl:"borderRightProperty"});QxBorder.addProperty({name:"bottomColor",type:QxColor,defaultValue:"transparent",impl:"borderBottomProperty"});QxBorder.addProperty({name:"leftColor",type:QxColor,defaultValue:"transparent",impl:"borderLeftProperty"});QxBorder.styleDecl={top:"borderTop",right:"borderRight",bottom:"borderBottom",left:"borderLeft"};QxBorder.geckoColorDecl={top:"MozBorderTopColors",right:"MozBorderRightColors",bottom:"MozBorderBottomColors",left:"MozBorderLeftColors"};QxBorder.fromString=function(s){var b=new QxBorder;var parts = s.split(/\s+/);var p;for(var i=0;i<parts.length;i++){p=parts[i];switch(p){case "groove":case "ridge":case "inset":case "outset":case "solid":case "dotted":case "dashed":case "double":case "none":b.setStyle(p);break;default:var n=parseFloat(p);if(n==p||p.indexOf("px")!=-1){b.setWidth(n);}else {b.setColor(p);};break;};};return b;};if((new QxClient).isOpera()){proto._generateDefString=function(bWidth,bStyle,bColor){var sWidth=typeof bWidth=="number"&&bWidth>=0&&bWidth<1000?bWidth+"px":"0px";var bStyle=typeof bStyle=="string"&&bStyle!=""?bStyle:"solid";var bColor=typeof bColor=="string"?bColor:"";if(bColor==""){switch(bStyle){case "groove":case "ridge":bColor="ThreeDHighlight";break;case "outset":case "inset":bColor="ThreeDFace";break;};};return sWidth+" "+bStyle+" "+(bColor!=""?" "+bColor:"");};}else {proto._generateDefString=function(bWidth,bStyle,bColor){var sWidth=typeof bWidth=="number"&&bWidth>=0&&bWidth<1000?bWidth+"px":"0px";var bStyle=typeof bStyle=="string"&&bStyle!=""?bStyle:"solid";var bColor=typeof bColor=="string"?bColor:"";return sWidth+" "+bStyle+" "+(bColor!=""?" "+bColor:"");};};proto.addWidget=function(o){this._widgets[o.toHash()]=o;this._applyWidget(o);};proto.removeWidget=function(o){delete this._widgets[o.toHash()];this._resetWidget(o);};proto.setWidth=function(bWidth,_b4){this.setTopWidth(bWidth,_b4);this.setRightWidth(bWidth,_b4);this.setBottomWidth(bWidth,_b4);this.setLeftWidth(bWidth,_b4);return true;};proto.setStyle=function(bStyle,_b4){this.setTopStyle(bStyle,_b4);this.setRightStyle(bStyle,_b4);this.setBottomStyle(bStyle,_b4);this.setLeftStyle(bStyle,_b4);return true;};proto.setColor=function(bColor,_b4){this.setTopColor(bColor,_b4);this.setRightColor(bColor,_b4);this.setBottomColor(bColor,_b4);this.setLeftColor(bColor,_b4);return true;};proto._modifyBorderTopProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.top=this._generateDefString(this._h1["topWidth"],this._h1["topStyle"],this._h1["topColor"]);this._h3Top();this._sync("top");return true;};if((new QxClient).isGecko()){proto._h3Top=function(){if(typeof this._h1["topColor"]=="string"&&this._h1["topColor"]!=""){this._h2["topColors"]="";}else {switch(this._h1["topStyle"]){case "groove":this._h2["topColors"]="ThreeDShadow ThreeDHighlight";break;case "ridge":this._h2["topColors"]="ThreeDHighlight ThreeDShadow";break;case "inset":this._h2["topColors"]="ThreeDShadow ThreeDDarkShadow";break;case "outset":this._h2["topColors"]="ThreeDLightShadow ThreeDHighlight";break;default:this._h2["topColors"]="";};};};}else {proto._h3Top=function(){};};proto._modifyBorderRightProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.right=this._generateDefString(this._h1["rightWidth"],this._h1["rightStyle"],this._h1["rightColor"]);this._h3Right();this._sync("right");return true;};if((new QxClient).isGecko()){proto._h3Right=function(){if(typeof this._h1["rightColor"]=="string"&&this._h1["rightColor"]!=""){this._h2["rightColors"]="";}else {switch(this._h1["rightStyle"]){case "groove":this._h2["rightColors"]="ThreeDHighlight ThreeDShadow";break;case "ridge":this._h2["rightColors"]="ThreeDShadow ThreeDHighlight";break;case "inset":this._h2["rightColors"]="ThreeDHighlight ThreeDLightShadow";break;case "outset":this._h2["rightColors"]="ThreeDDarkShadow ThreeDShadow";break;default:this._h2["rightColors"]="";};};};}else {proto._h3Right=function(){};};proto._modifyBorderBottomProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.bottom=this._generateDefString(this._h1["bottomWidth"],this._h1["bottomStyle"],this._h1["bottomColor"]);this._h3Bottom();this._sync("bottom");return true;};if((new QxClient).isGecko()){proto._h3Bottom=function(){if(typeof this._h1["bottomColor"]=="string"&&this._h1["bottomColor"]!=""){this._h2["bottomColors"]="";}else {switch(this._h1["bottomStyle"]){case "groove":this._h2["bottomColors"]="ThreeDHighlight ThreeDShadow";break;case "ridge":this._h2["bottomColors"]="ThreeDShadow ThreeDHighlight";break;case "inset":this._h2["bottomColors"]="ThreeDHighlight ThreeDLightShadow";break;case "outset":this._h2["bottomColors"]="ThreeDDarkShadow ThreeDShadow";break;default:this._h2["bottomColors"]="";};};};}else {proto._h3Bottom=function(){};};proto._modifyBorderLeftProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.left=this._generateDefString(this._h1["leftWidth"],this._h1["leftStyle"],this._h1["leftColor"]);this._h3Left();this._sync("left");return true;};if((new QxClient).isGecko()){proto._h3Left=function(){if(typeof this._h1["leftColor"]=="string"&&this._h1["leftColor"]!=""){this._h2["leftColors"]="";}else {switch(this._h1["leftStyle"]){case "groove":this._h2["leftColors"]="ThreeDShadow ThreeDHighlight";break;case "ridge":this._h2["leftColors"]="ThreeDHighlight ThreeDShadow";break;case "inset":this._h2["leftColors"]="ThreeDShadow ThreeDDarkShadow";break;case "outset":this._h2["leftColors"]="ThreeDLightShadow ThreeDHighlight";break;default:this._h2["leftColors"]="";};};};}else {proto._h3Left=function(){};};proto._sync=function(bProp){for(i in this._widgets){this._applyWidgetProp(this._widgets[i],bProp);};};if((new QxClient).isGecko()){proto._applyWidgetProp=function(o,bProp){if(typeof o=="undefined"||o==null){throw new Error("Failed to get widget to update border:"+o);};c=QxBorder.styleDecl;o.setStyleProperty(c[bProp],this._h2[bProp]);c=QxBorder.geckoColorDecl;o.setStyleProperty(c[bProp],this._h2[bProp+"Colors"]);};proto._applyWidget=function(o){if(typeof o=="undefined"||o==null||(!o instanceof QxWidget)){throw new Error("Failed to get widget to update border:"+o);};var c;with(this._h2){c=QxBorder.styleDecl;o.setStyleProperty(c.top,top);o.setStyleProperty(c.right,right);o.setStyleProperty(c.bottom,bottom);o.setStyleProperty(c.left,left);c=QxBorder.geckoColorDecl;o.setStyleProperty(c.top,topColors);o.setStyleProperty(c.right,rightColors);o.setStyleProperty(c.bottom,bottomColors);o.setStyleProperty(c.left,leftColors);};};proto._resetWidget=function(o){var c=QxBorder.styleDecl;o.setStyleProperty(c.top,"");o.setStyleProperty(c.right,"");o.setStyleProperty(c.bottom,"");o.setStyleProperty(c.left,"");c=QxBorder.geckoColorDecl;o.setStyleProperty(c.top,"");o.setStyleProperty(c.right,"");o.setStyleProperty(c.bottom,"");o.setStyleProperty(c.left,"");};}else {proto._applyWidgetProp=function(o,bProp){if(typeof o=="undefined"||o==null){throw new Error("Failed to get widget to update border:"+o);};c=QxBorder.styleDecl;o.setStyleProperty(c[bProp],this._h2[bProp]);};proto._applyWidget=function(o){if(typeof o=="undefined"||o==null||(!o instanceof QxWidget)){throw new Error("Failed to get widget to update border:"+o);};var c;with(this._h2){c=QxBorder.styleDecl;o.setStyleProperty(c.top,top);o.setStyleProperty(c.right,right);o.setStyleProperty(c.bottom,bottom);o.setStyleProperty(c.left,left);};};proto._resetWidget=function(o){var c=QxBorder.styleDecl;o.setStyleProperty(c.top,"");o.setStyleProperty(c.right,"");o.setStyleProperty(c.bottom,"");o.setStyleProperty(c.left,"");};};QxBorder.presets={inset:new QxBorder(2,"inset"),outset:new QxBorder(2,"outset"),groove:new QxBorder(2,"groove"),ridge:new QxBorder(2,"ridge"),thinInset:new QxBorder(1,"solid","ThreeDShadow"),thinOutset:new QxBorder(1,"solid","ThreeDShadow"),black:new QxBorder(1,"solid","black"),white:new QxBorder(1,"solid","white"),shadow:new QxBorder(1,"solid","ThreeDShadow")};with(QxBorder.presets.thinInset){setRightColor("ThreeDHighlight");setBottomColor("ThreeDHighlight");};with(QxBorder.presets.thinOutset){setLeftColor("ThreeDHighlight");setTopColor("ThreeDHighlight");};proto.dispose=function(){if(typeof this._widgets=="object"){for(var i;i<this._widgets.length;i++){delete this._widgets[i];};};delete this._widgets;if(typeof this._h1=="object"){for(var i in this._h1){delete this._h1[i];};};delete this._h1;if(typeof this._h2=="object"){for(var i in this._h2){delete this._h2[i];};};delete this._h2;return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxBuilder.js b/swat/style/qooxdoo/widgets/core/QxBuilder.js
new file mode 100644
index 0000000000..c9b3277493
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxBuilder.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBuilder(flags){QxTarget.call(this);this._propertyEditors={};this._registerDefaultPropertyEditors();this._radioButtonManagers={};this._debugContext=[];this._flags=flags||{};if(this._flags.strict==null){this._flags.strict=true;};};QxBuilder.extend(QxTarget,"QxBuilder");proto.buildFromUrl=function(parent,url){var loader=new QxXmlHttpLoader();var self=this;loader.addEventListener("complete",function(e){self.build(parent,e.getValue());e.preventDefault();self.dispatchEvent(new QxEvent("done"),true);});loader.load(url);};proto.build=function(parent,node){if(parent instanceof QxApplication){parent=parent.getClientWindow().getDocument();};if(typeof node=="object"&&node.nodeName=='TEXTAREA'){node=node.value;};if(typeof node=="string"){if(new QxClient().isMshtml()){var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.loadXML(node);node=xmlDoc.documentElement;if(xmlDoc.parseError.errorCode!=0){throw new Error("error parsing xml "+xmlDoc.parseError+"\nLine:"+xmlDoc.parseError.line+':'+xmlDoc.parseError.srcText);};}else{var parser=new DOMParser();node=parser.parseFromString(node,"text/xml").documentElement;};};this._buildNodes(parent,node.childNodes);};proto._buildNodes=function(parent,nodes){var x=0;for(var i=0;i<nodes.length;i++){var n=nodes[i];if(n.nodeType==1){this._debugContext.push(n.nodeName+'['+(x++)+']');this._buildWidgetFromNode(parent,n);this._debugContext.pop();};};};proto._buildEventListener=function(widget,args,text){if(isInvalidString(args.type)){throw this._newBuildError('eventListener requires a string type attribute');};var self=this;if(isValidString(args.delegate)){var dc=this._formatDebugContext();if(args.delegate.indexOf('.')>-1){var p=args.delegate.split('.');var o=p[0];var m=p[1];widget.addEventListener(args.type,function(e){if(!window[o]){throw self._newError(dc,'delegate not found',{delegate:args.delegate});};if(!window[o][m]){throw self._newError(dc,'delegate not found',{delegate:args.delegate});};window[o][m].apply(window[o],[e]);});}else{widget.addEventListener(args.type,function(e){if(!window[args.delegate]){throw self._newError(dc,'delegate not found',{delegate:args.delegate});};window[args.delegate].apply(null,[e]);});};}else{if(!args.args){args.args="event";};var f=new Function(args.args,text);widget.addEventListener(args.type,f);};};proto._buildWidgetFromNode=function(parent,node){var className=this._extractClassName(node);if(!className){if(parent instanceof QxAtom){var text=this._serializeToString(node);parent.setText((parent.getText()||"")+text);return;};throw this._newBuildError("unrecognised node",{nodeName:node.nodeName});};if(className=="QxWidgets"){this._buildNodes(parent,node.childNodes);return;};if(className=="QxScript"){var e=document.createElement("script");var attribs=this._mapXmlAttribToObject(node);if(attribs.type){e.type=attribs.type;}else{e.type='text/javascript';};if((new QxClient).isMshtml()){e.innerHTML=eval(node.firstChild.nodeValue);}else {e.innerHTML=node.firstChild.nodeValue;};document.body.appendChild(e);return;};if(className=="QxEventListener"){var attribs=this._mapXmlAttribToObject(node);var text;if(node.firstChild){text=node.firstChild.nodeValue;};this._buildEventListener(parent,attribs,text);return;};var constructor=window[className];if(!constructor){throw this._newBuildError("constructor not found",{className:className});};var widget=new constructor();var attribs=this._mapXmlAttribToObject(node,widget);delete attribs['qxtype'];if(attribs.id){window[attribs.id]=widget;delete attribs.id;};for(var a in attribs){if(a.toLowerCase().indexOf('on')==0&&a.length>2){var type=a.substring(2);type=type.charAt(0)+type.substring(1);this._buildEventListener(widget,{type:type,args:'event'},attribs[a]);delete attribs[a];};};var layoutHint;if(typeof QxLayout!="undefined"&&parent instanceof QxLayout){if(attribs.layouthint){try{eval('layoutHint={'+attribs.layouthint+'}');}catch(e){throw this._newBuildError('invalid property value',{name:'layoutHint',value:attrib.layoutHint},e);};delete attribs.layouthint;};};for(var n in attribs){this._debugContext.push("@"+n);this._setWidgetProperty(widget,n,attribs[n]);this._debugContext.pop();};if(typeof QxMenu!="undefined"&&widget instanceof QxMenu){window.application.getClientWindow().getDocument().add(widget);parent.setMenu(widget);}else if(layoutHint&&typeof QxLayout!="undefined"&&parent instanceof QxLayout){parent.add(widget,layoutHint);}else{parent.add(widget);};this._buildNodes(widget,node.childNodes);};proto._setWidgetProperty=function(widget,name,value){var editor=this._findPropertyEditor(widget.classname,name);if(!editor){editor=this._coercePropertyEditor;};editor.set(widget,name,value);};proto._findPropertyEditor=function(className,propertyName){var m=this._propertyEditors[className];if(m&&m[propertyName]){return m[propertyName];};var w=window[className];if(w&&w.prototype.superclass&&w.prototype.superclass.prototype.classname){return this._findPropertyEditor(w.prototype.superclass.prototype.classname,propertyName);};return null;};proto.registerPropertyEditor=function(className,propertyName,editor){if(!this._propertyEditors[className])this._propertyEditors[className]={};this._propertyEditors[className][propertyName]=editor;};proto._registerDefaultPropertyEditors=function(){var self=this;var commaDelimitedPropertyEditor={};commaDelimitedPropertyEditor.set=function(widget,name,value){if(value==null||value==""){self._setProperty(widget,name,null);return;};var s=value.split(",");var v=[];for(var i=0;i<s.length;i++){v[i]=self._coerce(s[i]);};self._setProperties(widget,name,v);};var evalPropertyEditor={};evalPropertyEditor.set=function(widget,name,value){if(value==null||value==""){self._setProperty(widget,name,null);return;};self._setProperty(widget,name,eval(value));};var radioButtonManagerEditor={};radioButtonManagerEditor.set=function(widget,name,value){var manager=self._radioButtonManagers[value];if(!manager){manager=new QxRadioButtonManager(value);self._radioButtonManagers[value]=manager;};manager.add(widget);};this.registerPropertyEditor('QxWidget','location',commaDelimitedPropertyEditor);this.registerPropertyEditor('QxWidget','dimension',commaDelimitedPropertyEditor);this.registerPropertyEditor('QxWidget','styleproperty',commaDelimitedPropertyEditor);this.registerPropertyEditor('QxWidget','border',evalPropertyEditor);this.registerPropertyEditor('QxMenuRadioButton','group',radioButtonManagerEditor);this.registerPropertyEditor('QxRadioButton','group',radioButtonManagerEditor);this._coercePropertyEditor={};this._coercePropertyEditor.set=function(widget,name,value){self._setProperty(widget,name,self._coerce(value));};};proto._coerce=function(value){if(value==null)return value;if(typeof value=='object')return value;if(typeof value=='function')return value;if(typeof value=='number')return value;if(typeof value=='boolean')return value;if(typeof value=='date')return value;if(typeof value=='array')return value;var n=new Number(value);if(!isNaN(n))return n.valueOf();if(value=="true")return true;if(value=="false")return false;var d=Date.parse(value);if(d!=null&&!isNaN(d))return d;if(typeof value=='string'){if(value=="")return null;};return value;};proto._setProperty=function(widget,name,value){this._setProperties(widget,name,[value]);};proto._setProperties=function(widget,name,value){var n="set"+name;for(var a in widget){if(n==a.toLowerCase()){var setter=widget[a];break;};};if(!setter&&this._flags.strict)throw this._newBuildError('no setter defined on widget instance',{widget:widget,property:name});setter.apply(widget,value);};proto._extractClassName=function(node){var n;if(node.nodeName.toUpperCase()=="DIV"){if(!node.attributes['qxtype']){return null
+};n=node.attributes['qxtype'].value;}else{n=node.nodeName;};var nameParts=n.split(":");if(nameParts.length!=2){return null;};return nameParts[0].toFirstUp()+nameParts[1].toFirstUp();};proto._serializeToString=function(node){var xmlSerializer=new XMLSerializer();return xmlSerializer.serializeToString(node);};proto._mapXmlAttribToObject=function(node){var r={};var c=node.attributes;for(var i=0;i<c.length;i++){r[c[i].name.toLowerCase()]=c[i].value;};return r;};proto._newBuildError=function(message,data,exception){return this._newError(this._formatDebugContext(),message,data,exception);};proto._newError=function(debugContext,message,data,exception){var m=message;var joiner="";var d="";if(data){for(var p in data){d+=joiner+p+"="+data[p]+'';joiner=" ";};m+=" "+d+" ";};m+=" context:"+debugContext+" ";if(exception){m+=" error:"+exception+" ";};return new Error(m);};proto._formatDebugContext=function(){var s="";for(var i=0;i<this._debugContext.length;i++){var v=this._debugContext[i];s+='/'+v;};return s;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxClient.js b/swat/style/qooxdoo/widgets/core/QxClient.js
new file mode 100644
index 0000000000..19851a9850
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxClient.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxClient(){if(QxClient._instance){return QxClient._instance;};var n=navigator;var u=n.userAgent;var v=n.vendor;var p=n.product;var r=null;if(window.opera){r="opera";}else if(typeof v=="string"&&v=="KDE"){r="khtml";}else if(typeof p=="string"&&p=="Gecko"){r="gecko";}else if (/msie/i.test(u)){r="mshtml";};this.engine=r;this.mshtml=r=="mshtml";this.gecko=r=="gecko";this.opera=r=="opera";this.khtml=r=="khtml";n=u=v=p=r=null;QxClient._instance=this;};QxClient.extend(Object,"QxClient");proto.getEngine=function(){return this.engine;};proto.isMshtml=function(){return this.engine=="mshtml";};proto.isGecko=function(){return this.engine=="gecko";};proto.isOpera=function(){return this.engine=="opera";};proto.isKhtml=function(){return this.engine=="khtml";};proto.isNotMshtml=function(){return !this.isMshtml();};proto.isNotGecko=function(){return !this.isGecko();};proto.isNotOpera=function(){return !this.isMshtml();};proto.isNotKhtml=function(){return !this.isKhtml();};window.client=new QxClient; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxClientWindow.js b/swat/style/qooxdoo/widgets/core/QxClientWindow.js
new file mode 100644
index 0000000000..060d637e78
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxClientWindow.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxClientWindow(windowElement){QxTarget.call(this);this._h3=windowElement;this._h3._QxClientWindow=this;this._addUnloadEvent(windowElement);this._h4=new QxClientDocument(this);this._h5=new QxEventManager(this);this._h6=new QxFocusManager(this);};QxClientWindow.extend(QxTarget,"QxClientWindow");proto.getEventManager=function(){return this._h5;};proto.getFocusManager=function(){return this._h6;};proto.getClientDocument=function(){return this._h4;};proto.getDocument=function(){return this._h4;};proto.getElement=function(){return this._h3;};if((new QxClient).isMshtml()){proto._addUnloadEvent=function(el){if(el==window){el.attachEvent("onunload",new Function("(new QxApplication).dispose();"));}else {el.attachEvent("onunload",function(e){if(el._QxClientWindow){el._QxClientWindow.dispose();el._QxClientWindow=null;};});};};}else if((new QxClient).isGecko()){proto._addUnloadEvent=function(el){if(el==window){el.addEventListener("unload",new Function("(new QxApplication).dispose();"),false);}else {el.addEventListener("unload",function(e){if(el._QxClientWindow){el._QxClientWindow.dispose();el._QxClientWindow=null;};},false);};};}else {proto._addUnloadEvent=function(el){};};proto.dispose=function(){if(this.getDisposed()){return;};if(this._h3){this._h3._QxClientWindow=null;this._h3=null;};if(this._h5){this._h5.dispose();this._h5=null;};if(this._h6){this._h6.dispose();this._h6=null;};if(this._h4){this._h4.dispose();this._h4=null;};QxTarget.prototype.dispose.call(this);return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxCommand.js b/swat/style/qooxdoo/widgets/core/QxCommand.js
new file mode 100644
index 0000000000..488de0dd34
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxCommand.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxCommand(vShortcut,vKeyCode,vManager){QxTarget.call(this);if(isValid(vShortcut)){this.setShortcut(vShortcut);};if(isValid(vKeyCode)){this.setKeyCode(vKeyCode);};this.setManager(isValid(vManager)?vManager:window.application.getClientWindow().getEventManager());};QxCommand.extend(QxTarget,"QxCommand");QxCommand.addProperty({name:"checked",type:Boolean,defaultValue:false});QxCommand.addProperty({name:"shortcut",type:String});QxCommand.addProperty({name:"keyCode",type:Number});QxCommand.addProperty({name:"manager",type:Object});proto.execute=function(vTarget){this.dispatchEvent(new QxDataEvent("execute",vTarget));return false;};proto._shortcutParts={};proto._modifyShortcut=function(_b1,_b2,_b3,_b4){if(_b1){var a = _b1.toLowerCase().split(/[-+\s]+/);var al=a.length;this._shortcutParts={};for(var i=0;i<al;i++){this._shortcutParts[a[i]]=true;};}else {this._shortcutParts=null;};return true;};proto._modifyManager=function(_b1,_b2,_b3,_b4){if(_b2){_b2.removeCommand(this);};if(_b1){_b1.addCommand(this);};return true;};proto._matchesKeyEvent=function(e){if(!(isValid(this.getShortcut())||isValid(this.getKeyCode()))){return false;};if((this._shortcutParts.shift&&!e.getShiftKey())||(this._shortcutParts.ctrl&&!e.getCtrlKey())||(this._shortcutParts.alt&&!e.getAltKey())){return false;};var vEventCode=e.getKeyCode();var vSelfCode=this.getKeyCode();switch(vSelfCode){case null:break;case vEventCode:return true;};var c=String.fromCharCode(vEventCode).toLowerCase();if(this._shortcutParts[c]){return true;};if(vSelfCode==null){for(var vPart in this._shortcutParts){switch(vPart){case "ctrl":case "shift":case "alt":case "control":break;default:if(vEventCode==QxKeyEvent.keys[vPart]){return true;};};};};return false;};proto.toString=function(){var vShortcut=this.getShortcut();var vKeyCode=this.getKeyCode();var vString="";if(isValidString(vShortcut)){vString=vShortcut;if(isValidNumber(vKeyCode)){var vTemp=QxKeyEvent.codes[vKeyCode];vString+="+"+(vTemp?vTemp.toFirstUp():String(vKeyCode));};}else if(isValidNumber(vKeyCode)){var vTemp=QxKeyEvent.codes[vKeyCode];vString=vTemp?vTemp.toFirstUp():String(vKeyCode);};return vString;};proto.dispose=function(){if(this.getDisposed()){return;};this._ownerWindow=null;return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxData.js b/swat/style/qooxdoo/widgets/core/QxData.js
new file mode 100644
index 0000000000..44b055c85f
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxData.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxData(c){QxTarget.call(this);this._h7=[];this._storeQueue=[];this._cache={};this._interval=new QxTimer(25);this._processRequestQueue=false;var o=this;this._interval.addEventListener("interval",function(){o.checkProcess();});(new QxTimerManager).add(this);};QxData.extend(QxTarget,"QxData");proto.loadData=function(dataKey){if(this.getDisposed()){return;};this._h7.push(dataKey);if(!this._interval.getEnabled()){this._interval.start();};};proto.checkProcess=function(){if(this.getDisposed()){return;};if(this._processRequestQueue){return;};this._processRequestQueue=true;while(this._h7.length>0){this.process(this._h7.shift(),new QxXmlHttpLoader);};this._processRequestQueue=false;this._interval.stop();};proto.process=function(dataKey,loader){if(this.getDisposed()){return;};this._storeQueue.push(dataKey);var o=this;loader.addEventListener("complete",function(e){o.processComplete(e.getData());loader.dispose();});try{loader.load(this.makeRequest(dataKey));}catch(ex){var t=dataKey.indexOf("[");var p0=dataKey.substring(0,t);this.dispatchEvent(new QxDataEvent("update"+p0.toFirstUp(),this),true);loader.dispose();throw new Error("Could not load data:"+ex);};};proto.makeRequest=function(dataKey){var t=dataKey.indexOf("[");var p0=dataKey.substring(0,t);var p1=dataKey.substring(t+1,dataKey.length-1);return "data/" + p0 + "/" + p1 + ".xml" + "?r=" + Math.round(Math.random()^Math.random()*100000);};proto.processComplete=function(xmlData){var req=this.getRequest(xmlData);var res=this.parseData(req,xmlData);this.mergeCacheData(res);this.dispatchEvent(new QxDataEvent("update"+req.toFirstUp(),this),true);};proto.getRequest=function(xmlData){return xmlData.documentElement.getElementsByTagName("PfxRequest")[0].getElementsByTagName("PfxSoap")[0].getAttribute("reqname");};proto.getResultXml=function(xmlData){return xmlData.documentElement.getElementsByTagName("PfxResult")[0];};proto.mapXmlToObject=function(xmlFrag){var r={};var c=xmlFrag.childNodes;for(var i=0;i<c.length;i++){if(c[i].nodeType==1){r[c[i].tagName]=c[i].firstChild.nodeValue;};};return r;};proto.parseData=function(req,xmlData){var handler=this["_parseData_"+req];if(typeof handler!="function"){throw new Error("QxData:The Parser function is not defined:_parseData_"+req+"!");};return handler.call(this,xmlData);};proto.mergeCacheData=function(res){for(i in res){this._cache[i]=res[i];};};proto.dispose=function(){if(this._disposed){return;};QxObject.prototype.dispose.call(this);if(typeof this._h7=="object"){for(var i=0;i<this._h7.length;i++){delete this._h7[i];};};delete this._h7;if(typeof this._storeQueue=="object"){for(var i=0;i<this._storeQueue.length;i++){delete this._storeQueue[i];};};delete this._storeQueue;if(typeof this._cache=="object"){for(i in this._cache){delete this._cache[i];};};this._cache=null;if(this._interval){this._interval.dispose();};this._interval=null;this._processRequestQueue=null;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxDebug.js b/swat/style/qooxdoo/widgets/core/QxDebug.js
new file mode 100644
index 0000000000..66ac659cfd
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxDebug.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+window._start=(new Date).valueOf();function QxDebug(){var t=String((new Date).valueOf()-window._start);while(t.length<5)t="0"+t;t+=":&#160;";var m;if(arguments.length==2){if(arguments[0]==this.last){m=t+"&#160;&#160;"+arguments[1]+"<br/>";}else {m = t + arguments[0] + "<br/>" + t + "&#160;&#160;" + arguments[1] + "<br/>";this.last=arguments[0];};}else {m=t+arguments[0];};var d=document.getElementById("testDebug");if(!d){QxDebug.cache+=m;}else {if(QxDebug.cache!=""){d.innerHTML+=QxDebug.cache;QxDebug.cache="";};d.innerHTML+=m;};};QxDebug.cache="";function QxDebugTimer(id){if(QxDebugTimerCache[id]){QxDebug("QxDebugTimer",id+":"+((new Date).valueOf()-QxDebugTimerCache[id])+"ms");delete QxDebugTimerCache[id];}else {QxDebugTimerCache[id]=(new Date).valueOf();};};QxDebugTimerCache={}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxDom.js b/swat/style/qooxdoo/widgets/core/QxDom.js
new file mode 100644
index 0000000000..34b35caa77
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxDom.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+var QxDOM=new Object;if(Boolean(document.defaultView)&&Boolean(document.defaultView.getComputedStyle)){QxDOM.getComputedStyleProperty=function(el,prop){return !el?null:el.ownerDocument?el.ownerDocument.defaultView.getComputedStyle(el,"")[prop]:el.style[prop];};}else if((new QxClient).isMshtml()){QxDOM.getComputedStyleProperty=function(el,prop){if(!el){return null;};if(el.parentNode){return el.currentStyle[prop];}else {var v1=el.runtimeStyle[prop];if(v1!=null&&typeof v1!="undefined"){return v1;};return el.style[prop];};};}else {QxDOM.getComputedStyleProperty=function(el,prop){return !el?null:el.style[prop];};};QxDOM.getComputedStyleSize=function(el,prop){return parseInt(QxDOM.getComputedStyleProperty(el,prop))||0;};QxDOM.getComputedMarginLeft=function(el){return QxDOM.getComputedStyleSize(el,"marginLeft");};QxDOM.getComputedMarginTop=function(el){return QxDOM.getComputedStyleSize(el,"marginTop");};QxDOM.getComputedMarginRight=function(el){return QxDOM.getComputedStyleSize(el,"marginRight");};QxDOM.getComputedMarginBottom=function(el){return QxDOM.getComputedStyleSize(el,"marginBottom");};QxDOM.getComputedPaddingLeft=function(el){return QxDOM.getComputedStyleSize(el,"paddingLeft");};QxDOM.getComputedPaddingTop=function(el){return QxDOM.getComputedStyleSize(el,"paddingTop");};QxDOM.getComputedPaddingRight=function(el){return QxDOM.getComputedStyleSize(el,"paddingRight");};QxDOM.getComputedPaddingBottom=function(el){return QxDOM.getComputedStyleSize(el,"paddingBottom");};QxDOM.getComputedBorderLeft=function(el){return QxDOM.getComputedStyleProperty(el,"borderLeftStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderLeftWidth");};QxDOM.getComputedBorderTop=function(el){return QxDOM.getComputedStyleProperty(el,"borderTopStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderTopWidth");};QxDOM.getComputedBorderRight=function(el){return QxDOM.getComputedStyleProperty(el,"borderRightStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderRightWidth");};QxDOM.getComputedBorderBottom=function(el){return QxDOM.getComputedStyleProperty(el,"borderBottomStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderBottomWidth");};QxDOM.getComputedOuterWidth=function(el){return QxDOM.getComputedBoxWidth(el)+QxDOM.getComputedMarginLeft(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedOuterHeight=function(el){return QxDOM.getComputedBoxHeight(el)+QxDOM.getComputedMarginTop(el)+QxDOM.getComputedMarginBottom(el);};QxDOM.getComputedBoxWidth=function(el){var h=el.offsetHeight;if(h==0){var o=el.style.height;el.style.height="1px";};var v=el.offsetWidth;if(h==0){el.style.height=o;};return v;};QxDOM.getComputedBoxHeight=function(el){var w=el.offsetWidth;if(w==0){var o=el.style.width;el.style.width="1px";};var v=el.offsetHeight;if(w==0){el.style.width=o;};return v;};if((new QxClient).isGecko()){QxDOM.getComputedAreaWidth=function(el){if(el.clientWidth!=0&&el.clientWidth!=(QxDOM.getComputedBorderLeft(el)+QxDOM.getComputedBorderRight(el))){return el.clientWidth;}else {return QxDOM.getComputedBoxWidth(el)-QxDOM.getComputedInsetLeft(el)-QxDOM.getComputedInsetRight(el);};};QxDOM.getComputedAreaHeight=function(el){if(el.clientHeight!=0&&el.clientHeight!=(QxDOM.getComputedBorderTop(el)+QxDOM.getComputedBorderBottom(el))){return el.clientHeight;}else {return QxDOM.getComputedBoxHeight(el)-QxDOM.getComputedInsetTop(el)-QxDOM.getComputedInsetBottom(el)};};}else {QxDOM.getComputedAreaWidth=function(el){return el.clientWidth!=0?el.clientWidth:(QxDOM.getComputedBoxWidth(el)-QxDOM.getComputedInsetLeft(el)-QxDOM.getComputedInsetRight(el));};QxDOM.getComputedAreaHeight=function(el){return el.clientHeight!=0?el.clientHeight:(QxDOM.getComputedBoxHeight(el)-QxDOM.getComputedInsetTop(el)-QxDOM.getComputedInsetBottom(el));};};QxDOM.getComputedInnerWidth=function(el){return QxDOM.getComputedAreaWidth(el)-QxDOM.getComputedPaddingLeft(el)-QxDOM.getComputedPaddingRight(el);};QxDOM.getComputedInnerHeight=function(el){return QxDOM.getComputedAreaHeight(el)-QxDOM.getComputedPaddingTop(el)-QxDOM.getComputedPaddingBottom(el);};if((new QxClient).isMshtml()){QxDOM.getComputedInsetLeft=function(el){return el.clientLeft;};QxDOM.getComputedInsetTop=function(el){return el.clientTop;};QxDOM.getComputedInsetRight=function(el){if(QxDOM.getComputedStyleProperty(el,"overflowY")=="hidden"||el.clientWidth==0){return QxDOM.getComputedBorderRight(el);};return Math.max(0,el.offsetWidth-el.clientLeft-el.clientWidth);};QxDOM.getComputedInsetBottom=function(el){if(QxDOM.getComputedStyleProperty(el,"overflowX")=="hidden"||el.clientHeight==0){return QxDOM.getComputedBorderBottom(el);};return Math.max(0,el.offsetHeight-el.clientTop-el.clientHeight);};}else {QxDOM.getComputedInsetLeft=function(el){return QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedInsetTop=function(el){return QxDOM.getComputedBorderTop(el);};QxDOM.getComputedInsetRight=function(el){if(el.clientWidth==0){var ov=QxDOM.getComputedStyleProperty(el,"overflow");var sbv=ov=="scroll"||ov=="-moz-scrollbars-vertical"?16:0;return Math.max(0,QxDOM.getComputedBorderRight(el)+sbv);};return Math.max(0,el.offsetWidth-el.clientWidth-QxDOM.getComputedBorderLeft(el));};QxDOM.getComputedInsetBottom=function(el){if(el.clientHeight==0){var ov=QxDOM.getComputedStyleProperty(el,"overflow");var sbv=ov=="scroll"||ov=="-moz-scrollbars-horizontal"?16:0;return Math.max(0,QxDOM.getComputedBorderBottom(el)+sbv);};return Math.max(0,el.offsetHeight-el.clientHeight-QxDOM.getComputedBorderTop(el));};};QxDOM.getComputedScrollBarSizeLeft=function(el){return 0;};QxDOM.getComputedScrollBarSizeTop=function(el){return 0;};QxDOM.getComputedScrollBarSizeRight=function(el){return QxDOM.getComputedInsetRight(el)-QxDOM.getComputedBorderRight(el);};QxDOM.getComputedScrollBarSizeBottom=function(el){return QxDOM.getComputedInsetBottom(el)-QxDOM.getComputedBorderBottom(el);};QxDOM.getComputedScrollBarVisibleX=function(el){return QxDOM.getComputedScrollBarSizeRight(el)>0;};QxDOM.getComputedScrollBarVisibleY=function(el){return QxDOM.getComputedScrollBarSizeBottom(el)>0;};QxDOM.getScrollLeftSum=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollLeft;p=p.parentNode;};return sum;};QxDOM.getScrollTopSum=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollTop;p=p.parentNode;};return sum;};QxDOM.getComputedPageOuterLeft=function(el){return QxDOM.getComputedPageBoxLeft(el)-QxDOM.getComputedMarginLeft(el);};QxDOM.getComputedPageOuterTop=function(el){return QxDOM.getComputedPageBoxTop(el)-QxDOM.getComputedMarginTop(el);};QxDOM.getComputedPageOuterRight=function(el){return QxDOM.getComputedPageBoxRight(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedPageOuterBottom=function(el){return QxDOM.getComputedPageBoxBottom(el)+QxDOM.getComputedMarginBottom(el);};QxDOM.getComputedClientOuterLeft=function(el){return QxDOM.getComputedClientBoxLeft(el)-QxDOM.getComputedMarginLeft(el);};QxDOM.getComputedClientOuterTop=function(el){return QxDOM.getComputedClientBoxTop(el)-QxDOM.getComputedMarginTop(el);};QxDOM.getComputedClientOuterRight=function(el){return QxDOM.getComputedClientBoxRight(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedClientOuterBottom=function(el){return QxDOM.getComputedClientBoxBottom(el)+QxDOM.getComputedMarginBottom(el);};if((new QxClient).isMshtml()){QxDOM.getComputedClientBoxLeft=function(el){return el.getBoundingClientRect().left;};QxDOM.getComputedClientBoxTop=function(el){return el.getBoundingClientRect().top;};QxDOM.getComputedPageBoxLeft=function(el){return QxDOM.getComputedClientBoxLeft(el)+QxDOM.getScrollLeftSum(el);};QxDOM.getComputedPageBoxTop=function(el){return QxDOM.getComputedClientBoxTop(el)+QxDOM.getScrollTopSum(el);};}else if((new QxClient).isGecko()){QxDOM.getComputedClientBoxLeft=function(el){return QxDOM.getComputedClientAreaLeft(el)-QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedClientBoxTop=function(el){return QxDOM.getComputedClientAreaTop(el)-QxDOM.getComputedBorderTop(el);};QxDOM.getComputedPageBoxLeft=function(el){return QxDOM.getComputedPageAreaLeft(el)-QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedPageBoxTop=function(el){return QxDOM.getComputedPageAreaTop(el)-QxDOM.getComputedBorderTop(el);};}else {QxDOM.getComputedPageBoxLeft=function(el){var sum=el.offsetLeft;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetLeft;};return sum;};QxDOM.getComputedPageBoxTop=function(el){var sum=el.offsetTop;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetTop;};return sum;};QxDOM.getComputedClientBoxLeft=function(el){var sum=el.offsetLeft;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetLeft-el.scrollLeft;};return sum;};QxDOM.getComputedClientBoxTop=function(el){var sum=el.offsetTop;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetTop-el.scrollTop;};return sum;};};if((new QxClient).isMshtml()){QxDOM.getComputedClientBoxRight=function(el){return el.getBoundingClientRect().right;};QxDOM.getComputedClientBoxBottom=function(el){return el.getBoundingClientRect().bottom;};QxDOM.getComputedPageBoxRight=function(el){return QxDOM.getComputedClientBoxRight(el)+QxDOM.getScrollLeftSum(el);};QxDOM.getComputedPageBoxBottom=function(el){return QxDOM.getComputedClientBoxBottom(el)+QxDOM.getScrollTopSum(el);};}else {QxDOM.getComputedClientBoxRight=function(el){return QxDOM.getComputedClientBoxLeft(el)+QxDOM.getComputedBoxWidth(el);};QxDOM.getComputedClientBoxBottom=function(el){return QxDOM.getComputedClientBoxTop(el)+QxDOM.getComputedBoxHeight(el);};QxDOM.getComputedPageBoxRight=function(el){return QxDOM.getComputedPageBoxLeft(el)+QxDOM.getComputedBoxWidth(el);};QxDOM.getComputedPageBoxBottom=function(el){return QxDOM.getComputedPageBoxTop(el)+QxDOM.getComputedBoxHeight(el);};};if((new QxClient).isGecko()){QxDOM.getComputedPageAreaLeft=function(el){return el.ownerDocument.getBoxObjectFor(el).x;};QxDOM.getComputedPageAreaTop=function(el){return el.ownerDocument.getBoxObjectFor(el).y;};QxDOM.getComputedClientAreaLeft=function(el){return QxDOM.getComputedPageAreaLeft(el)-QxDOM.getScrollLeftSum(el);};QxDOM.getComputedClientAreaTop=function(el){return QxDOM.getComputedPageAreaTop(el)-QxDOM.getScrollTopSum(el);};}else {QxDOM.getComputedClientAreaLeft=function(el){return QxDOM.getComputedClientBoxLeft(el)+QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedClientAreaTop=function(el){return QxDOM.getComputedClientBoxTop(el)+QxDOM.getComputedBorderTop(el);};QxDOM.getComputedPageAreaLeft=function(el){return QxDOM.getComputedPageBoxLeft(el)+QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedPageAreaTop=function(el){return QxDOM.getComputedPageBoxTop(el)+QxDOM.getComputedBorderTop(el);};};QxDOM.getComputedClientAreaRight=function(el){return QxDOM.getComputedClientAreaLeft(el)+QxDOM.getComputedAreaWidth(el);};QxDOM.getComputedClientAreaBottom=function(el){return QxDOM.getComputedClientAreaTop(el)+QxDOM.getComputedAreaHeight(el);};QxDOM.getComputedPageAreaRight=function(el){return QxDOM.getComputedPageAreaLeft(el)+QxDOM.getComputedAreaWidth(el);};QxDOM.getComputedPageAreaBottom=function(el){return QxDOM.getComputedPageAreaTop(el)+QxDOM.getComputedAreaHeight(el);};QxDOM.getComputedClientInnerLeft=function(el){return QxDOM.getComputedClientAreaLeft(el)+QxDOM.getComputedPaddingLeft(el);};QxDOM.getComputedClientInnerTop=function(el){return QxDOM.getComputedClientAreaTop(el)+QxDOM.getComputedPaddingTop(el);};QxDOM.getComputedClientInnerRight=function(el){return QxDOM.getComputedClientInnerLeft(el)+QxDOM.getComputedInnerWidth(el);};QxDOM.getComputedClientInnerBottom=function(el){return QxDOM.getComputedClientInnerTop(el)+QxDOM.getComputedInnerHeight(el);};QxDOM.getComputedPageInnerLeft=function(el){return QxDOM.getComputedPageAreaLeft(el)+QxDOM.getComputedPaddingLeft(el);};QxDOM.getComputedPageInnerTop=function(el){return QxDOM.getComputedPageAreaTop(el)+QxDOM.getComputedPaddingTop(el);};QxDOM.getComputedPageInnerRight=function(el){return QxDOM.getComputedPageInnerLeft(el)+QxDOM.getComputedInnerWidth(el);};QxDOM.getComputedPageInnerBottom=function(el){return QxDOM.getComputedPageInnerTop(el)+QxDOM.getComputedInnerHeight(el);};if((new QxClient).isGecko()){QxDOM.getComputedScreenBoxLeft=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollLeft;p=p.parentNode;};return el.ownerDocument.getBoxObjectFor(el).screenX-sum;};QxDOM.getComputedScreenBoxTop=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollTop;p=p.parentNode;};return el.ownerDocument.getBoxObjectFor(el).screenY-sum;};}else {QxDOM.getComputedScreenBoxLeft=function(el){return QxDOM.getComputedScreenDocumentLeft(el)+QxDOM.getComputedPageBoxLeft(el);};QxDOM.getComputedScreenBoxTop=function(el){return QxDOM.getComputedScreenDocumentTop(el)+QxDOM.getComputedPageBoxTop(el);};};QxDOM.getComputedScreenBoxRight=function(el){return QxDOM.getComputedScreenBoxLeft(el)+QxDOM.getComputedBoxWidth(el);};QxDOM.getComputedScreenBoxBottom=function(el){return QxDOM.getComputedScreenBoxTop(el)+QxDOM.getComputedBoxHeight(el);};QxDOM.getComputedScreenOuterLeft=function(el){return QxDOM.getComputedScreenBoxLeft(el)-QxDOM.getComputedMarginLeft(el);};QxDOM.getComputedScreenOuterTop=function(el){return QxDOM.getComputedScreenBoxTop(el)-QxDOM.getComputedMarginTop(el);};QxDOM.getComputedScreenOuterRight=function(el){return QxDOM.getComputedScreenBoxRight(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedScreenOuterBottom=function(el){return QxDOM.getComputedScreenBoxBottom(el)+QxDOM.getComputedMarginBottom(el);};QxDOM.getComputedScreenAreaLeft=function(el){return QxDOM.getComputedScreenBoxLeft(el)+QxDOM.getComputedInsetLeft(el);};QxDOM.getComputedScreenAreaTop=function(el){return QxDOM.getComputedScreenBoxTop(el)+QxDOM.getComputedInsetTop(el);};QxDOM.getComputedScreenAreaRight=function(el){return QxDOM.getComputedScreenBoxRight(el)-QxDOM.getComputedInsetRight(el);};QxDOM.getComputedScreenAreaBottom=function(el){return QxDOM.getComputedScreenBoxBottom(el)-QxDOM.getComputedInsetBottom(el);};QxDOM.getComputedScreenInnerLeft=function(el){return QxDOM.getComputedScreenAreaLeft(el)+QxDOM.getComputedPaddingLeft(el);};QxDOM.getComputedScreenInnerTop=function(el){return QxDOM.getComputedScreenAreaTop(el)+QxDOM.getComputedPaddingTop(el);};QxDOM.getComputedScreenInnerRight=function(el){return QxDOM.getComputedScreenAreaRight(el)-QxDOM.getComputedPaddingRight(el);};QxDOM.getComputedScreenInnerBottom=function(el){return QxDOM.getComputedScreenAreaBottom(el)-QxDOM.getComputedPaddingBottom(el);};if((new QxClient).isGecko()){QxDOM.getComputedScreenDocumentLeft=function(el){return QxDOM.getComputedScreenOuterLeft(el.ownerDocument.body);};QxDOM.getComputedScreenDocumentTop=function(el){return QxDOM.getComputedScreenOuterTop(el.ownerDocument.body);};QxDOM.getComputedScreenDocumentRight=function(el){return QxDOM.getComputedScreenOuterRight(el.ownerDocument.body);};QxDOM.getComputedScreenDocumentBottom=function(el){return QxDOM.getComputedScreenOuterBottom(el.ownerDocument.body);};}else {QxDOM.getComputedScreenDocumentLeft=function(el){return el.document.parentWindow.screenLeft;};QxDOM.getComputedScreenDocumentTop=function(el){return el.document.parentWindow.screenTop;};QxDOM.getComputedScreenDocumentRight=function(el){};QxDOM.getComputedScreenDocumentBottom=function(el){};};QxDOM.getComputedPreferredSize=function(el){try{var elst=el.style;var _pa=el.parentNode;var _ne=el.nextChild;var _do=el.ownerDocument.body;var _el_w=isValidString(elst.width)?elst.width:"";var _el_h=isValidString(elst.height)?elst.height:"";var _el_p=isValidString(elst.position)?elst.position:"";var _el_d=isValidString(elst.display)?elst.display:"";var _el_v=isValidString(elst.visibility)?elst.visibility:"";_pa.removeChild(el);elst.width=elst.height="auto";elst.position="absolute";elst.display="inline";elst.visibility="hidden";_do.appendChild(el);var r={width:el.offsetWidth,height:el.offsetHeight};_do.removeChild(el);elst.width=_el_w;elst.height=_el_h;elst.position=_el_p;elst.display=_el_p;elst.visibility=_el_v;_ne?_pa.insertBefore(el,_ne):_pa.appendChild(el);return r;}catch(ex){throw new Error("Failed to detect preferred size for "+el+":"+ex);};};QxDOM.getComputedPreferredWidth=function(el){return QxDOM.getComputedPreferredSize(el).width;};QxDOM.getComputedPreferredHeight=function(el){return QxDOM.getComputedPreferredSize(el).height;};QxDOM.addClass=function(el,newClass){var n=el.className.add(newClass," ");if(n!=el.className){el.className=n;};};QxDOM.removeClass=function(el,oldClass){var n=el.className.remove(oldClass," ");if(n!=el.className){el.className=n;};};if((new QxClient).isMshtml()){QxDOM.setWidth=function(el,intValue){el.style.pixelWidth=intValue;};QxDOM.setHeight=function(el,intValue){el.style.pixelHeight=intValue;};}else {QxDOM.setWidth=function(el,intValue){el.style.width=intValue+"px";};QxDOM.setHeight=function(el,intValue){el.style.height=intValue+"px";};};QxDOM.getElementFromPoint=function(x,y){return QxDOM.getElementFromPointHandler(document.body,x,y);};QxDOM.getElementFromPointHandler=function(node,x,y,recursive){var ch=node.childNodes;var chl=ch.length-1;if(chl<0){return null;};var chc,subres,ret;do
+{chc=ch[chl];ret=QxDOM.getElementFromPointChecker(chc,x,y);if(ret){if(typeof recursive=="boolean"&&recursive==false&&2==1){return chc;}else {subres=QxDOM.getElementFromPointHandler(chc,x-ret[0]-QxDOM.getComputedBorderLeft(chc),y-ret[2]-QxDOM.getComputedBorderTop(chc));return subres?subres:chc;};};}while(chl--);return null;};QxDOM.getElementFromPointChecker=function(chc,x,y){var xstart,ystart,xstop,ystop;if(chc.nodeType!=1){return false;};xstart=QxDOM.getOffsetLeft(chc);if(x>xstart){ystart=QxDOM.getOffsetTop(chc);if(y>ystart){xstop=xstart+chc.offsetWidth;if(xstop==xstart&&chc.className=="QxContainer"){xstop=xstart+chc._QxWidget.getAnyWidth();};if(x<xstop){ystop=ystart+chc.offsetHeight;if(y<ystop){return[xstart,xstop,ystart,ystop];};};};};return false;};QxDOM.getElementAbsolutePointChecker=function(chc,x,y){var xstart,ystart,xstop,ystop;if(!chc||chc.nodeType!=1){return false;};xstart=QxDOM.getComputedPageBoxLeft(chc);if(x>xstart){ystart=QxDOM.getComputedPageBoxTop(chc);if(y>ystart){xstop=xstart+chc.offsetWidth;if(xstop==xstart&&chc.className=="QxContainer"){xstop=xstart+chc._QxWidget.getAnyWidth();};if(x<xstop){ystop=ystart+chc.offsetHeight;if(y<ystop){return[xstart,xstop,ystart,ystop];};};};};return false;};if((new QxClient).isGecko()){QxDOM.getOffsetLeft=function(el){var val=el.offsetLeft;var pa=el.parentNode;var pose=QxDOM.getComputedStyleProperty(el,"position");var posp=QxDOM.getComputedStyleProperty(pa,"position");if(pose!="absolute"&&pose!="fixed"){val-=QxDOM.getComputedBorderLeft(pa);};if(posp!="absolute"&&posp!="fixed"){while(pa){pa=pa.parentNode;if(!pa||isInvalidString(pa.tagName)){break;};var posi=QxDOM.getComputedStyleProperty(pa,"position");if(posi=="absolute"||posi=="fixed"){val-=QxDOM.getComputedBorderLeft(pa)+QxDOM.getComputedPaddingLeft(pa);break;};};};return val;};QxDOM.getOffsetTop=function(el){var val=el.offsetTop;var pa=el.parentNode;var pose=QxDOM.getComputedStyleProperty(el,"position");var posp=QxDOM.getComputedStyleProperty(pa,"position");if(pose!="absolute"&&pose!="fixed"){val-=QxDOM.getComputedBorderTop(pa);};if(posp!="absolute"&&posp!="fixed"){while(pa){pa=pa.parentNode;if(!pa||isInvalidString(pa.tagName)){break;};var posi=QxDOM.getComputedStyleProperty(pa,"position");if(posi=="absolute"||posi=="fixed"){val-=QxDOM.getComputedBorderTop(pa)+QxDOM.getComputedPaddingTop(pa);break;};};};return val;};}else {QxDOM.getOffsetLeft=function(el){return el.offsetLeft;};QxDOM.getOffsetTop=function(el){return el.offsetTop;};};if((new QxClient).isMshtml()){QxDOM.addEventListener=function(e,t,f){e.attachEvent("on"+t,f);};QxDOM.removeEventListener=function(e,t,f){e.detachEvent("on"+t,f);};}else {QxDOM.addEventListener=function(e,t,f){e.addEventListener(t,f,false);};QxDOM.removeEventListener=function(e,t,f){e.removeEventListener(t,f,false);};};if((new QxClient).isMshtml()){QxDOM.getWindowInnerWidth=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.clientWidth){return w.document.documentElement.clientWidth;}else if(w.document.body){return w.document.body.clientWidth;};return 0;};QxDOM.getWindowInnerHeight=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.clientHeight){return w.document.documentElement.clientHeight;}else if(w.document.body){return w.document.body.clientHeight;};return 0;};QxDOM.getClientScrollLeft=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.scrollLeft){return w.document.documentElement.scrollLeft;}else if(w.document.body){return w.document.body.scrollTop;};return 0;};QxDOM.getClientScrollTop=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.scrollTop){return w.document.documentElement.scrollTop;}else if(w.document.body){return w.document.body.scrollTop;};return 0;};}else {QxDOM.getWindowInnerWidth=function(w){return(w||window).innerWidth;};QxDOM.getWindowInnerHeight=function(w){return(w||window).innerHeight;};QxDOM.getClientScrollLeft=function(w){return(w||window).document.body.scrollLeft;};QxDOM.getClientScrollTop=function(w){return(w||window).document.body.scrollTop;};};QxDOM.scrollIntoViewX=function(vChild,vParent){if(!vParent){vParent=vChild.parentNode;};var l=vChild.offsetLeft;var w=vChild.offsetWidth;var sl=vParent.scrollLeft;var cw=vParent.clientWidth;if(w>cw||l<sl){vParent.scrollLeft=l;}else if(l+w>sl+cw){vParent.scrollLeft=l+w-cw;};};QxDOM.scrollIntoViewY=function(vChild,vParent){if(!vParent){vParent=vChild.parentNode;};var t=vChild.offsetTop;var h=vChild.offsetHeight;var st=vParent.scrollTop;var ch=vParent.clientHeight;if(h>ch||t<st){vParent.scrollTop=t;}else if(t+h>st+ch){vParent.scrollTop=t+h-ch;};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxExtend.js b/swat/style/qooxdoo/widgets/core/QxExtend.js
new file mode 100644
index 0000000000..f633368011
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxExtend.js
@@ -0,0 +1,4 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function isHashEmpty(h){for(var s in h){return false;};return true;};function copyCreateHash(h){if(h){var n={};for(var k in h){n[k]=h[k];};return n;}else {return{};};};function copyCreateArray(a){return a&&a.length>0?a.copy():[];};function set(){var r={};for(var i=0,a=arguments,l=a.length;i<l;i++){r[a[i]]=true;};return r;};function isValid(v){switch(typeof v){case "undefined":return false;case "object":return v!=null;case "string":return v!="";case "number":return !isNaN(v);case "function":case "boolean":return true;};return false;};function isInvalid(v){switch(typeof v){case "undefined":return true;case "object":return v==null;case "string":return v=="";case "number":return isNaN(v);case "function":case "boolean":return false;};return true;};function isValidNumber(v){return typeof v=="number"&&!isNaN(v);};function isInvalidNumber(v){return typeof v!="number"||isNaN(v);};function isValidString(v){return typeof v=="string"&&v!="";};function isInvalidString(v){return typeof v!="string"||v=="";};function isValidArray(v){return typeof v=="object"&&v!=null&&typeof v.push=="function";};function isInvalidArray(v){return typeof v!="object"||v==null||typeof v.push!="function";};function isValidObject(v){return typeof v=="object"&&v!=null&&typeof v.push!="function";};function isInvalidObject(v){return typeof v!="object"||v==null||typeof v.push=="function";};function isValidFunction(v){return typeof v=="function";};function isInvalidFunction(v){return typeof v=="function";};Number.prototype.limit=function(vmin,vmax){if(vmax!=null&&typeof vmax=="number"&&this>vmax){return vmax;}else if(vmin!=null&&typeof vmin=="number"&&this<vmin){return vmin;}else {return Number(this);};};Number.prototype.inrange=function(vmin,vmax){return this>vmin&&this<vmax;};Array.prototype.indexOf=function(o){for(var i=0;i<this.length;i++){if(this[i]==o){return i;};};return-1;};Array.prototype.lastIndexOf=function(o){for(var i=this.length-1;i>=0;i--){if(this[i]==o){return i;};};return-1;};Array.prototype.contains=function(o){return this.indexOf(o)!=-1;};Array.prototype.remove=function(o){var i=this.indexOf(o);if(i!=-1){this.splice(i,1);};};Array.prototype.insertAt=function(o,i){this.splice(i,0,o);};Array.prototype.insertBefore=function(o,o2){var i=this.indexOf(o2);if(i==-1){this.push(o);}else{this.splice(i,0,o);};};Array.prototype.insertAfter=function(o,o2){var i=this.indexOf(o2);if(i==-1||i==(this.length-1)){this.push(o);}else{this.splice(i+1,0,o);};};Array.prototype.removeAt=function(i){this.splice(i,1);};Array.prototype.remove=function(o){var i=this.indexOf(o);if(i!=-1){this.splice(i,1);};};Array.prototype.copy=function(){return this.concat();};Array.prototype.getLast=function(){return this[this.length-1];};Array.prototype.getFirst=function(){return this[0];};String.prototype.contains=function(s){return this.indexOf(s)!=-1;};String.prototype.toFirstUp=function(){return this.charAt(0).toUpperCase()+this.substr(1);};String.prototype.toCamelCase=function(){var vArr=this.split('-');if(vArr.length==1){return vArr[0];};var ret=vArr[0];var s;for(var i=1,len=vArr.length;i<len;i++,s=vArr[i]){ret+=s.charAt(0).toUpperCase()+s.substring(1);};return ret;};String.prototype.trimLeft = new Function("return this.replace(/^\\s+/,'')");String.prototype.trimRight = new Function("return this.replace(/\\s+$/,'')");String.prototype.trim = new Function("return this.replace(/^\\s+|\\s+$/g,'')");String.prototype.add=function(v,sep){if(this==v){return this;}else if(this==""){return v;}else {if(isInvalid(sep)){sep=",";};var a=this.split(sep);if(a.indexOf(v)==-1){a.push(v);return a.join(sep);}else {return this;};};};String.prototype.remove=function(v,sep){if(this==v||this==""){return "";}else {if(isInvalid(sep)){sep=",";};var a=this.split(sep);var p=a.indexOf(v);if(p==-1){return this;};do{a.splice(p,1);}while((p=a.indexOf(v))!=-1);return a.join(sep);};};if(!Function.prototype.apply){Function.prototype.apply=function(oScope,args){var sarg=[];var rtrn,call;if(!oScope){oScope=window;};if(!args){args=[];};for(var i=0;i<args.length;i++){sarg[i]="args["+i+"]";};call="oScope._applyTemp_("+sarg.join(",")+");";oScope._applyTemp_=this;rtrn=eval(call);delete oScope._applyTemp_;return rtrn;};};Function.prototype.extend=function(sFunction,tClassName){if(typeof sFunction!="function"){throw new Error("Extend:Function/Constructor to extend from is not a function:"+sFunction);};if(typeof tClassName!="string"){throw new Error("Extend:Missing or malformed className:"+tClassName);};proto=this.prototype=new sFunction;proto.superclass=sFunction;proto.classname=tClassName;proto.constructor=this;return proto;};if(navigator.product=="Gecko"){Document.prototype.elementFromPoint=function(x,y){this.addEventListener("mousemove",this.elementFromPointHandler,false);var event=this.createEvent("MouseEvents");var box=this.getBoxObjectFor(this.documentElement);event.initMouseEvent("mousemove",true,false,this.defaultView,0,x+box.screenX,y+box.screenY,x,y,false,false,false,false,0,null);this.dispatchEvent(event);this.removeEventListener("mousemove",this.elementFromPointHandler,false);return this.elementFromPointTarget;};Document.prototype.elementFromPointHandler=function(event){this.elementFromPointTarget=event.explicitOriginalTarget;if(this.elementFromPointTarget.nodeType==Node.TEXT_NODE){this.elementFromPointTarget=this.elementFromPointTarget.parentNode;};if(this.elementFromPointTarget.nodeName.toUpperCase()=="HTML"&&this.documentElement.nodeName.toUpperCase()=="HTML"){this.elementFromPointTarget=this.getElementsByTagName("BODY").item(0);};event.preventDefault();event.stopPropagation();};Document.prototype.elementFromPointTarget=null;};Error.prototype.toString=function(){return this.message;};Function.prototype.removeProperty=function(p){if(typeof this.prototype._i1!="string"){throw new Error("Has no properties!");};if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};p.method=p.name.toFirstUp();p.implMethod=p.impl?p.impl.toFirstUp():p.method;var valueKey="_value"+p.method;this.prototype._i1=this.prototype._i1.remove(p.name);this.prototype[valueKey]=null;this.prototype["get"+p.method]=function(){return null;};this.prototype["force"+p.method]=this.prototype["set"+p.method]=function(){throw new Error("Property "+p.name+" is not supported by class+"+this.classname);};if(this.prototype["_modify"+p.method]){this.prototype["_modify"+p.method]=null;};if(this.prototype["_eval"+p.method]){this.prototype["_eval"+p.method]=null;};};Function.prototype.addProperty=function(p){if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};p.method=p.name.toFirstUp();p.implMethod=p.impl?p.impl.toFirstUp():p.method;if(isInvalid(p.defaultValue)){p.defaultValue=null;};var valueKey="_value"+p.method;var nullKey="_null"+p.method;var evalKey="_eval"+p.method;var changeKey="change"+p.method;var modifyKey="_modify"+p.implMethod;var checkKey="_check"+p.implMethod;this.prototype[valueKey]=p.defaultValue;if(typeof this.prototype._i1!="string"){this.prototype._i1=p.name;}else{this.prototype._i1+=","+p.name;};if(typeof p.groups=="object"){var g=p.groups;var l=g.length;var tempGroups;var tempGroupName;var tempGroupNameUp;var tempMemberRef;for(var i=0;i<l;i++){tempGroupName=g[i];tempMemberRef="_propertygroup_"+tempGroupName+"_members";if(typeof this.prototype._h9!="string"){this.prototype._h9=tempGroupName;}else {tempGroups=this.prototype._h9.split(",");if(tempGroups.contains(tempGroupName)){this.prototype[tempMemberRef]+=","+p.name;}else {tempGroups.push(tempGroupName);this.prototype._h9=tempGroups.join(",");};};if(typeof this.prototype[tempMemberRef]=="undefined"){this.prototype[tempMemberRef]=p.name;tempGroupNameUp=tempGroupName.toFirstUp();this.prototype["get"+tempGroupNameUp]=new Function("var memberList=this."+tempMemberRef+".split(',');"+"var memberLength=memberList.length;"+"var memberValues=[];"+"try{"+"for(var i=0;i<memberLength;i++){"+"memberValues.push(this['get'+memberList[i].toFirstUp()]());"+"};"+"}catch(ex){"+"throw new Error('Failed to get values from property group "+tempGroupName+":'+ex);"+"};"+"return memberValues;"
+);this.prototype["set"+tempGroupNameUp]=new Function("var memberList=this."+tempMemberRef+".split(',');"+"var memberLength=memberList.length;"+"try{"+"for(var i=0;i<memberLength;i++){"+"this['set'+memberList[i].toFirstUp()](arguments[i]);"+"};"+"}catch(ex){"+"throw new Error('Failed to setup property group "+tempGroupName+":'+ex);"+"};"+"return true"
+);};};};this.prototype["get"+p.method]=function(){if(typeof this[valueKey]=="undefined"||(this[valueKey]==null&&this[nullKey]!=true)){if(typeof this[evalKey]=="function"){var v1=this[evalKey]();if(isValid(v1)){return this[valueKey]=v1;};};return null;}else {return this[valueKey];};};this.prototype["getDefault"+p.method]=function(_b4){return p.defaultValue;};this.prototype["setDefault"+p.method]=function(newValue,_b4){return p.defaultValue=newValue;};this.prototype["force"+p.method]=function(newValue){this[valueKey]=newValue;this[nullKey]=newValue==null;return true;};this.prototype["reset"+p.method]=function(_b4){return this["set"+p.method](p.defaultValue,_b4);};this.prototype["set"+p.method]=function(newValue,_b4){var thisModId=this.toHash()+"_"+p.name;if(isInvalidArray(_b4)){var _b4=[thisModId];}else if(_b4.contains(thisModId)){return newValue;}else {_b4.push(thisModId);};var fixedValue=newValue==null?null:isValid(p.type)?p.type(newValue):newValue;var oldValue=this[valueKey];if(typeof this[checkKey]=="function"){try{fixedValue=this[checkKey](fixedValue,oldValue,p.name,_b4);}catch(ex){this.debug("Failed to check property "+p.name+":"+ex);return false;};};if(fixedValue!=oldValue){this[valueKey]=fixedValue;this[nullKey]=fixedValue==null;if(typeof this[modifyKey]=="function"){try{var r=this[modifyKey](fixedValue,oldValue,p.name,_b4);if(!r){throw new Error("Failed without exception:"+p.name+"["+p.implMethod+"|"+r+"]");};}catch(ex){this.debug("Failed to modify property "+p.name+":"+ex.message);return false;};};if(this instanceof QxTarget){if(this.hasEventListeners(changeKey)){var ce=new QxDataEvent(changeKey,fixedValue,oldValue,false);ce.setTarget(this);try{this.dispatchEvent(ce,true);}catch(ex){throw new Error("Failed to dispatch changed event:"+ex);};ce=null;};};};return fixedValue;};if(typeof p.getAlias=="string"){this.prototype[p.getAlias]=this.prototype["get"+p.method];};if(typeof p.setAlias=="string"){this.prototype[p.setAlias]=this.prototype["set"+p.method];};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxNativeWindow.js b/swat/style/qooxdoo/widgets/core/QxNativeWindow.js
new file mode 100644
index 0000000000..3cf927052a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxNativeWindow.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxNativeWindow(vCaption,vSource){QxTarget.call(this);this._timer=new QxTimer(100);this._timer.addEventListener("interval",this._ontimer,this);var o=this;this.__onload=function(e){return o._onload(e);};if(isValidString(vSource)){this.setSource(vSource);};if(isValidString(vCaption)){this.setCaption(vCaption);};};QxNativeWindow.extend(QxTarget,"QxNativeWindow");QxNativeWindow.addProperty({name:"width",defaultValue:400,groups:["dimension"]});QxNativeWindow.addProperty({name:"height",defaultValue:250,groups:["dimension"]});QxNativeWindow.addProperty({name:"left",type:Number,defaultValue:100,groups:["location"]});QxNativeWindow.addProperty({name:"top",type:Number,defaultValue:200,groups:["location"]});QxNativeWindow.addProperty({name:"modal",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"caption",type:String});QxNativeWindow.addProperty({name:"source",type:String});QxNativeWindow.addProperty({name:"status",type:String,defaultValue:"Ready"});QxNativeWindow.addProperty({name:"showStatusbar",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showMenubar",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showLocation",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showToolbar",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showCaption",type:Boolean,defaultValue:true});QxNativeWindow.addProperty({name:"resizeable",type:Boolean,defaultValue:true});QxNativeWindow.addProperty({name:"moveable",type:Boolean,defaultValue:true});QxNativeWindow.addProperty({name:"allowScrollbars",type:Boolean,defaultValue:false});proto.getPane=function(){return this._pane;};proto.addToWindow=proto.add;proto.addToPane=function(){this._pane.add.apply(this._pane,arguments);};proto.add=proto.addToPane;proto._modifyLeft=function(_b1,_b2,_b3,_b4){return this._d3();};proto._modifyTop=function(_b1,_b2,_b3,_b4){return this._d3();};proto._d3=function(){if(this._window&&!this._window.closed){this._window.moveTo(this.getLeft(),this.getTop());};return true;};proto._modifyCaption=function(_b1,_b2,_b3,_b4){return this._applyCaption();};proto._modifyShowCaption=function(_b1,_b2,_b3,_b4){return this._applyCaption();};proto._applyCaption=function(){if(this._window&&this._instance){var v="";if(this.getShowCaption()){var vc=this.getCaption();if(isValidString(vc)){v=vc;};};this._instance.getClientDocument().getDocumentElement().title=v;};return true;};proto._modifySource=function(_b1,_b2,_b3,_b4){if(this._window&&this._window.closed==false){this._window.location.replace(isValidString(_b1) ? _b1 : ("javascript:/" + "/"));};return true;};proto._chromeCaptionSize=24;proto._isOpened=false;proto._isLoaded=false;proto.isLoaded=function(){return this._isLoaded;};proto.close=function(){if(this._window){this._window.close();};};proto.open=function(){var conf="dependent=yes,";if(isValidNumber(this.getWidth())){conf+="width="+this.getWidth()+",";};if(isValidNumber(this.getHeight())){if((new QxClient).isMshtml()){if(this.getShowMenubar()){conf+="height="+(this.getHeight()+(this.getAllowScrollbars()?-20:-8))+",";}else {conf+="height="+this.getHeight()+",";};}else {conf+="height="+this.getHeight()+",";};};if(isValidNumber(this.getLeft())){conf+="left="+this.getLeft()+",";};if(isValidNumber(this.getTop())){conf+="top="+this.getTop()+",";};conf+="resizable="+(this.getResizeable()?"yes":"no")+",";conf+="status="+(this.getShowStatusbar()?"yes":"no")+",";conf+="location="+(this.getShowLocation()?"yes":"no")+",";conf+="menubar="+(this.getShowMenubar()?"yes":"no")+",";conf+="toolbar="+(this.getShowToolbar()?"yes":"no")+",";conf+="scrollbars="+(this.getAllowScrollbars()?"yes":"no")+",";conf+="modal="+(this.getModal()?"yes":"no")+",";this._isOpened=false;this._isLoaded=false;this._readyState=0;if(this.getModal()){window.application.getClientWindow().getClientDocument().block(this);};this._window=window.open("about:blank","w"+this.toHash(),conf);if(!this._window){this.debug("Window could not be opened. It seems there is a popup blocker active!");if(this.getModal()){window.application.getClientWindow().getClientDocument().release(this);};throw new Error("popupblocker");};this._timer.restart();};proto.centerToScreen=function(){return this._centerHelper((screen.width - this.getWidth()) / 2, (screen.height - this.getHeight() - this._chromeCaptionSize) / 2);};proto.centerToScreenArea=function(){return this._centerHelper((screen.availWidth - this.getWidth()) / 2, (screen.availHeight - this.getHeight() - this._chromeCaptionSize) / 2);};proto.centerToOpener=function(){return this._centerHelper(((QxDOM.getWindowInnerWidth(window) - this.getWidth()) / 2) + QxDOM.getComputedScreenBoxLeft(window.document.body), ((QxDOM.getWindowInnerHeight(window) - this.getHeight() - this._chromeCaptionSize) / 2) + QxDOM.getComputedScreenBoxTop(window.document.body));};proto._centerHelper=function(l,t){this.forceLeft(0);this.forceTop(0);this.setLeft(l);this.setTop(t);if(this._window&&!this._window.closed){this.focus();};};proto.focus=function(){if(this._window){try{this._window.focus();}catch(ex){};};};proto.blur=function(){if(this._window){this._window.blur();};};proto._ontimer=function(e){if(isValidNumber(this._readyState)&&this._isOpened&&(!this._window||(this._window&&this._window.closed!=false))){if(this.getModal()){window.application.getClientWindow().getClientDocument().release(this);};this._timer.stop();if(this._instance){this._instance.dispose();this._instance=null;};this._isOpened=false;this._isLoaded=false;this._readyState=null;return;};if(!this._window||this._timerRun){return;};if(this._window){this._isOpened=true;};this._timerRun=true;switch(this._readyState){case 0:this._isLoaded=false;var d=this._window.document;if(d){try{this._window._QxNativeWindow=this;}catch(ex){};if(isValidString(this.getSource())){try{QxDOM.addEventListener(this._window,"load",this.__onload);}catch(ex){};this._window.location.replace(this.getSource());this._timer.setInterval(500);this._readyState=5;}else {this._readyState=1;};if(!this.getResizeable()&&!(new QxClient).isMshtml()){var w=this.getWidth();var h=this.getHeight();var win=this._window;this._window.addEventListener("resize",function(e){win.resizeTo(w,h);},false);};};break;case 1:var ls=document.getElementsByTagName("head")[0].getElementsByTagName("link");for(var i=0,l=ls.length;i<l;i++){if(ls[i].getAttribute("href").indexOf("layouts/")!=-1){var s=ls[i].getAttribute("href");break;};};var d=this._window.document;d.open("text/html",true);d.write('<?xml version="1.0" encoding="iso-8859-1"?>');d.write('<!DOCTYPE html PUBLIC "-/' + '/W3C/' + '/DTD XHTML 1.1/' + '/EN" "http:/' + '/www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">');d.write('<html xmlns="http:/' + '/www.w3.org/1999/xhtml" xml:lang="en">');d.write('<head>');d.write('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />');d.write('<meta http-equiv="MsThemeCompatible" content="yes"/>');d.write('<meta http-equiv="ImageToolBar" content="no"/>');d.write('<meta http-equiv="Pragma" content="no-cache"/>');d.write('<meta http-equiv="Expires" content="-1"/>');d.write('<meta http-equiv="Cache-Control" content="no-cache"/>');d.write('<meta name="MSSmartTagsPreventParsing" content="yes"/>');if(this.getShowCaption()){d.write('<title>'+this.getCaption()+'</title>');};if(isValidString(s)){d.write('<link type="text/css" rel="StyleSheet" href="' + s + '"/>');};d.write('</head><body></body></html>');d.close();this._readyState++;break;case 2:var d=this._window.document;if(d&&d.body){this._instance=new QxClientWindow(this._window);this._pane=this._instance.getClientDocument();this._readyState++;};break;case 3:try{if(this.hasEventListeners("ready")){this.dispatchEvent(new QxEvent("ready"));};}catch(ex){this.debug("Error in ready implementation:"+ex);this._timer.stop();};this._readyState++;break;case 4:this.focus();this._readyState++;this._onload();this._timer.setInterval(500);this._timer.restart();break;case 5:try{if(this._window.document.readyState=="complete"){this._onload();};}catch(ex){};if(!this.getMoveable()){try{this._window.moveTo(this.getLeft(),this.getTop());}catch(ex){};};if(!this.getResizeable()&&(this.getWidth()=="auto"||this.getHeight()=="auto")){var w,h;if(this.getWidth()=="auto"){w=this._instance.getClientDocument().getPreferredWidth();};if(this.getHeight()=="auto"){h=this._instance.getClientDocument().getPreferredHeight();};if(isValidNumber(w)||isValidNumber(h)){if((new QxClient).isMshtml()){try{this._window.resizeTo(isValidNumber(w)?w:this.getWidth(),isValidNumber(h)?h+this._chromeCaptionSize:this.getHeight());}catch(ex){};}else {if(isValidNumber(w)){this._window.innerWidth=w;};if(isValidNumber(h)){if(this._window.innerHeight!=150&&h!=150){this._window.innerHeight=h;};};};};};break;};delete this._timerRun;};proto._onload=function(){if(!this._isLoaded){this._isLoaded=true;this.focus();this.dispatchEvent(new QxEvent("load"));};};proto.dispose=function(){if(this.getDisposed()){return;};if(this._timer){this._timer.removeEventListener("interval",this._ontimer,this);this._timer.dispose();this._timer=null;};if(this._instance){this._instance.dispose();this._instance=null;};if(this._pane){this._pane.dispose();this._pane=null;};if(this._window){if(!this._window.closed){QxDOM.removeEventListener(this._window,"load",this.__onload);};this.close();try{if(this._window._QxNativeWindow){this._window._QxNativeWindow.dispose();this._window._QxNativeWindow=null;};}catch(ex){};this._window=null;};this._readyState=null;return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxObject.js b/swat/style/qooxdoo/widgets/core/QxObject.js
new file mode 100644
index 0000000000..7300612863
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxObject.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxObject(autoDispose){this._pos=QxObject._i2++;this._hash="h"+String(Math.round(Math.random()*1e6));this._k1={};if(typeof autoDispose!="boolean"||autoDispose){QxObject._i3.push(this);};};QxObject.extend(Object,"QxObject");QxObject._i2=0;QxObject._siteCounter=0;QxObject._i3=[];QxObject.toHash=function(o){if(o._hash!=null){return o._hash;};return o._hash="h"+String(Math.round(Math.random()*1e6));};QxObject.dispose=function(){for(var i=QxObject._i3.length-1;i>=0;i--){if(typeof QxObject._i3[i]!="undefined"){QxObject._i3[i].dispose();if(typeof QxObject._i3=="undefined"){break;};delete QxObject._i3[i];};};delete QxObject._i3;};QxObject.addProperty({name:"enabled",type:Boolean,defaultValue:true,getAlias:"isEnabled"});proto.debug=function(m){QxDebug(this.classname+"["+this._pos+"]",m);};proto.subug=function(m){QxDebug(this.classname+"["+this._pos+"]","::"+m);};proto.toString=function(){if(this.classname){return "[object "+this.classname+"]";};return "[object Object]";};proto.toHash=function(){return this._hash;};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){return true;};proto._disposed=false;proto.dispose=function(){if(this._disposed){return;};for(var p in this._k1){delete this._k1[p];};delete this._k1;this._disposed=true;delete QxObject._i3[this._pos];};proto.getDisposed=function(){return this._disposed;};proto.isDisposed=function(){return this._disposed;};proto.set=function(propertyValues){if(typeof propertyValues!="object"){throw new Error("Please use a valid hash of property key-values pairs.");};for(var prop in propertyValues){try{this["set"+prop.toFirstUp()](propertyValues[prop]);}catch(ex){throw new Error("Setter of property "+prop+" returned with an error:"+ex);};};return this;};proto.get=function(propertyNames,outputHint){switch(typeof propertyNames){case "string":return this["get"+propertyNames.toFirstUp()]();case "object":if(typeof propertyNames.length=="number"){if(outputHint=="hash"){var h={};propertyLength=propertyNames.length;for(var i=0;i<propertyLength;i++){try{h[propertyNames[i]]=this["get"+propertyNames[i].toFirstUp()]();}catch(ex){throw new Error("Could not get a valid value from property:"+propertyNames[i]+"! Is the property existing?("+ex+")");};};return h;}else {propertyLength=propertyNames.length;for(var i=0;i<propertyLength;i++){try{propertyNames[i]=this["get"+propertyNames[i].toFirstUp()]();}catch(ex){throw new Error("Could not get a valid value from property:"+propertyNames[i]+"! Is the property existing?("+ex+")");};};return propertyNames;};}else {for(var i in propertyNames){propertyNames[i]=this["get"+i.toFirstUp()]();};return propertyNames;};default:throw new Error("Please use a valid array,hash or string as parameter!");};};proto.addData=function(p){if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};var valueKey=p.name;var methodKey=p.method=valueKey.toFirstUp();var changeKey="change"+methodKey;this["retrieve"+methodKey]=function(){return this._k1[valueKey];};if(typeof p.defaultValue!="undefined"){this._k1[valueKey]=p.defaultValue;this["retrieveDefault"+methodKey]=function(){return p.defaultValue;};this["storeDefault"+methodKey]=function(newValue){return p.defaultValue=newValue;};this["restore"+methodKey]=function(){return this["store"+methodKey](p.defaultValue);};};this["store"+methodKey]=function(newValue){var fixedValue=isValid(p.type)?p.type(newValue):newValue;var oldValue=this._k1[valueKey];if(fixedValue!=oldValue){this._k1[valueKey]=fixedValue;if(this instanceof QxTarget&&this.hasEventListeners(changeKey)){var ce=new QxDataEvent(changeKey,fixedValue,oldValue,false);ce.setTarget(this);try{this.dispatchEvent(ce,true);}catch(ex){throw new Error("Failed to dispatch change event:"+ex);};ce=null;};};return fixedValue;};};proto.removeData=function(p){if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};var methodKey=p.method;delete this._k1[p.name];delete this["retrieve"+methodKey];delete this["store"+methodKey];delete this["retrieveDefault"+methodKey];delete this["storeDefault"+methodKey];delete this["restore"+methodKey];}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxSelectionStorage.js b/swat/style/qooxdoo/widgets/core/QxSelectionStorage.js
new file mode 100644
index 0000000000..07b6aebfb4
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxSelectionStorage.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxSelectionStorage(){this.removeAll();};QxSelectionStorage.extend(QxObject,"QxSelectionStorage");proto.add=function(oItem){this._i4[this.getItemHashCode(oItem)]=oItem;};proto.remove=function(oItem){delete this._i4[this.getItemHashCode(oItem)];};proto.removeAll=function(){this._i4={};};proto.contains=function(oItem){return this.getItemHashCode(oItem)in this._i4;};proto.toArray=function(){var res=[];for(var key in this._i4){res.push(this._i4[key]);};return res;};proto.getFirst=function(){for(var key in this._i4){return this._i4[key];};};proto.getChangeValue=function(){var sb=[];for(var hc in this._i4){sb.push(hc);};sb.sort();return sb.join(",");};proto.getItemHashCode=function(oItem){return oItem.toHash();};proto.isEmpty=function(){return isHashEmpty(this._i4);};proto.dispose=function(){if(this.getDisposed()){return;};this._i4=null;QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxTarget.js b/swat/style/qooxdoo/widgets/core/QxTarget.js
new file mode 100644
index 0000000000..34fddfab51
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxTarget.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTarget(){QxObject.call(this);this._i5={};};QxTarget.extend(QxObject,"QxTarget");proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxObject.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);return true;};proto.addEventListener=function(eType,eFunc,eObject){if(this._disposed){return;};if(typeof eFunc!="function"){throw new Error("'"+eFunc+"' is not a function!");};if(typeof this._i5[eType]=="undefined"){this._i5[eType]={};};var key=QxObject.toHash(eFunc)+(eObject?"::"+QxObject.toHash(eObject):"");this._i5[eType][key]={handler:eFunc,object:eObject
+};};proto.hasEventListeners=function(eType){return typeof this._i5[eType]!="undefined";};proto.removeEventListener=function(eType,eFunc,eObject){if(this._disposed||typeof this._i5[eType]=="undefined"){return;};if(typeof eFunc!="function"){throw new Error("'"+eFunc+"' is not a function!");};var key=QxObject.toHash(eFunc)+(eObject?"::"+QxObject.toHash(eObject):"");delete this._i5[eType][key];};proto.dispatchEvent=function(e,dispose){if(this._disposed){return;};if(!e._target){e._target=this;};this._i6(e,dispose);return !e._defaultPrevented;;};proto._i6=function(e,dispose){if(this._disposed){return;};e.setCurrentTarget(this);var fs=this._i5[e.getType()];if(fs){var f,o;for(var hc in fs){f=fs[hc].handler;o=fs[hc].object;if(typeof f=="function"){f.call(typeof o=="object"?o:this,e);};};};var p=this.getParent();if(e.getBubbles()&&!e.getPropagationStopped()&&p&&p.getEnabled()){p._i6(e,false);};if(dispose){e.dispose();};};proto.getParent=function(){return null;};proto.dispose=function(_b1,propOldName,_b3,_b4){if(this._disposed){return;};if(typeof this._i5=="object"){for(var eType in this._i5){for(var eKey in this._i5[eType]){delete this._i5[eType][eKey];};delete this._i5[eType];};};delete this._i5;return QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxTimer.js b/swat/style/qooxdoo/widgets/core/QxTimer.js
new file mode 100644
index 0000000000..6d0794237a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxTimer.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTimer(vInterval){QxTarget.call(this);this.setEnabled(false);if(isValidNumber(vInterval)){this.setInterval(vInterval);};(new QxTimerManager).add(this);var o=this;this.__i7=function(){o._i7();};};QxTimer.extend(QxTarget,"QxTimer");QxTimer.addProperty({name:"interval",type:Number,defaultValue:1000});proto._i8=null;proto._modifyEnabled=function(_b1,_b2,_b3,_b4){if(_b2){window.clearInterval(this._i8);this._i8=null;}else if(_b1){this._i8=window.setInterval(this.__i7,this.getInterval());};return QxTarget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};proto.start=function(){this.setEnabled(true);};proto.startWith=function(vInterval){this.setInterval(vInterval);this.start();};proto.stop=function(){this.setEnabled(false);};proto.restart=function(){this.stop();this.start();};proto.restartWith=function(vInterval){this.stop();this.startWith(vInterval);};proto._i7=function(){if(this.getEnabled()&&this.hasEventListeners("interval")){this.dispatchEvent(new QxEvent("interval"),true);};};proto.dispose=function(){if(this.getDisposed()){return;};this.stop();this.__i7=null;if(this._i8r){window.clearInterval(this._i8);this._i8r=null;};return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxUserApplication.js b/swat/style/qooxdoo/widgets/core/QxUserApplication.js
new file mode 100644
index 0000000000..2937cb9c74
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxUserApplication.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxUserApplication(){if(QxUserApplication._instance){return QxUserApplication._instance;};QxTarget.call(this);QxUserApplication._instance=this;};QxUserApplication.extend(QxTarget,"QxUserApplication");proto.dispose=function(){if(this.getDisposed()){return;};var dispose_start=(new Date).valueOf();QxTarget.prototype.dispose.call(this);QxObject.dispose();QxDebug("QxUserApplication","Dispose total:"+((new Date).valueOf()-dispose_start)+"ms");}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/core/QxXmlHttpLoader.js b/swat/style/qooxdoo/widgets/core/QxXmlHttpLoader.js
new file mode 100644
index 0000000000..fbf514106c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/core/QxXmlHttpLoader.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxXmlHttpLoader(){QxTarget.call(this);if(!QxXmlHttpLoader._ok){throw new Error("Your Browser does not support XML-HTTP!");};var o=this;this.__onreadystatechange=function(){o._onreadystatechange();};this.__onload=function(){o._onload();};this.__onreadystatefix=function(){o.req.readyState=4;o._onreadystatechange();};};QxXmlHttpLoader.extend(QxTarget,"QxXmlHttpLoader");QxXmlHttpLoader._http=window.XMLHttpRequest?true:false;QxXmlHttpLoader._activex=window.ActiveXObject&&!(new QxClient).isOpera()?true:false;QxXmlHttpLoader._activexobj=null;QxXmlHttpLoader._ok=QxXmlHttpLoader._http||QxXmlHttpLoader._activex;if(QxXmlHttpLoader._activex){var servers=["MSXML2","Microsoft","MSXML","MSXML3"];for(var i=0;i<servers.length;i++){try{var o=new ActiveXObject(servers[i]+".XMLHTTP");QxXmlHttpLoader._activexobj=servers[i];o=null;}catch(ex){};};};QxXmlHttpLoader.addProperty({name:"xml"});proto.load=function(url){try{this.req=QxXmlHttpLoader._activex?new ActiveXObject(QxXmlHttpLoader._activexobj+".XMLHTTP"):new XMLHttpRequest();if(typeof this.req.abort!="undefined"){this.req.abort();};this.req.onreadystatechange=this.__onreadystatechange;if(this.req.readyState==null){this.req.readyState=1;req.addEventListener("load",this.__onreadystatefix,false);};this.req.open("GET",url,true);return QxXmlHttpLoader._activex?this.req.send():this.req.send(null);}catch(e){throw new Error("Your browser does not support XML-HTTP:\n"+e);};};proto._onload=function(){};proto._onreadystatechange=function(){switch(this.req.readyState){case 1:if(this.hasEventListeners("init")){this.dispatchEvent(new QxEvent("init"));};break;case 2:if(this.hasEventListeners("connect")){this.dispatchEvent(new QxEvent("connect"));};if(this.req.status!=200&&this.req.status!=0){if(typeof this.req.abort!="undefined")this.req.abort();throw new Error("File request failed:"+this.req.statusText+"["+this.req.status+"]");};break;case 3:if(this.hasEventListeners("download"))this.dispatchEvent(new QxEvent("download"));try{var l=this.req.getResponseHeader("Content-Length");if(typeof l!="number"){l=NaN;};}catch(ex){var l=NaN;};break;case 4:if(this.hasEventListeners("done")){this.dispatchEvent(new QxEvent("done"));};if(this.req.status!=200&&this.req.status!=0){if(this.req.abort){this.req.abort();};throw new Error("File request failed:"+this.req.statusText+"["+this.req.status+"]");};if(!this.req.responseXML.documentElement){var s = String(this.req.responseText).replace(/<\?xml[^\?]*\?>/, "");this.req.responseXML.loadXML(s);};if(!this.req.responseXML.documentElement){throw new Error("Missing Document Element!");};if(this.req.responseXML.documentElement.tagName=="parseerror"){throw new Error("XML-File is not well-formed!");};this.dispatchEvent(new QxDataEvent("complete",this.req.responseXML),true);};};proto.dispose=function(){if(this._disposed){return;};if(this.req){this.req=null;};this.__onreadystatechange=null;return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/events/QxDataEvent.js b/swat/style/qooxdoo/widgets/events/QxDataEvent.js
new file mode 100644
index 0000000000..2634ba42a3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/events/QxDataEvent.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDataEvent(eType,newValue,oldValue,autoDispose){QxEvent.call(this,eType,autoDispose);if(typeof newValue!="undefined"){this._newValue=newValue;};if(typeof oldValue!="undefined"){this._oldValue=oldValue;};};QxDataEvent.extend(QxEvent,"QxDataEvent");proto._propagationStopped=false;proto.getValue=proto.getData=proto.getNewValue=function(){return this._newValue;};proto.getOldValue=function(){return this._oldValue;};proto.dispose=function(){if(this._disposed){return;};this._newValue=this._oldValue=null;QxEvent.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/events/QxDragEvent.js b/swat/style/qooxdoo/widgets/events/QxDragEvent.js
new file mode 100644
index 0000000000..76db40803e
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/events/QxDragEvent.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDragEvent(vType,vMouseEvent,vAutoDispose){this._mouseEvent=vMouseEvent;this._manager=new QxDragAndDropManager;QxMouseEvent.call(this,vType,vMouseEvent?vMouseEvent._domEvent:null,vAutoDispose);};QxDragEvent.extend(QxMouseEvent,"QxDragEvent");proto.getManager=function(){return this._manager;};proto.getMouseEvent=function(){return this._mouseEvent;};proto.startDrag=function(){if(this._type!="dragstart"){throw new Error("QxDragEvent startDrag can only be called during the dragstart event");};this.stopPropagation();this._manager.startDrag();};proto.addData=function(sType,oData){this._manager.addData(sType,oData);};proto.getData=function(sType){return this._manager.getData(sType);};proto.clearData=function(){this._manager.clearData();};proto.getDropDataTypes=function(){return this._manager.getDropDataTypes();};proto.addAction=function(sAction){this._manager.addAction(sAction);};proto.removeAction=function(sAction){this._manager.removeAction(sAction);};proto.getAction=function(){return this._manager.getCurrentAction();};proto.clearActions=function(){this._manager.clearActions();};proto._evalTarget=function(){switch(this._type){case "dragstart":case "dragend":case "dragover":case "dragout":case "dragmove":return this._target;case "dragdrop":return this._manager.getDestinationWidget();default:return QxMouseEvent.prototype._evalTarget.call(this);};};proto._evalRelatedTarget=function(){switch(this._type){case "dragover":case "dragout":return this._relatedTarget;case "dragdrop":return this._manager.getSourceWidget();case "dragend":return this._manager.getDestinationWidget();default:return QxMouseEvent.prototype._evalRelatedTarget.call(this);};};proto.dispose=function(){if(this.getDisposed()){return;};QxMouseEvent.prototype.dispose.call(this);this._relatedTarget=null;this._target=null;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/events/QxEvent.js b/swat/style/qooxdoo/widgets/events/QxEvent.js
new file mode 100644
index 0000000000..31960eec9c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/events/QxEvent.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxEvent(eType,autoDispose){if(typeof autoDispose!="boolean"&&this.classname=="QxEvent"){autoDispose=false;};QxObject.call(this,autoDispose);if(isValid(eType)){this._type=eType;};};QxEvent.extend(QxObject,"QxEvent");proto._bubbles=false;proto._propagationStopped=true;proto._defaultPrevented=false;proto._type="";proto._target=null;proto._currentTarget=null;proto._relatedTarget=null;proto.setType=function(t){this._type=t;};proto.setBubbles=function(b){this._bubbles=b;};proto.setPropagationStopped=function(s){this._propagationStopped=s;};proto.stopPropagation=function(){this._propagationStopped=true;};proto.setPreventDefault=function(d){this._defaultPrevented=d;};proto.setTarget=function(t){this._target=t;};proto.setCurrentTarget=function(t){this._currentTarget=t;};proto.setRelatedTarget=function(t){this._relatedTarget=t;};proto.preventDefault=function(){this.setPreventDefault(true);};proto.getType=function(){return this._type;};proto.getBubbles=function(){return this._bubbles;};proto.getPropagationStopped=function(){return this._propagationStopped;};proto.getPreventDefault=function(){return this._defaultPrevented;};proto.getTarget=function(){return this._target;};proto.getCurrentTarget=function(){return this._currentTarget;};proto.getRelatedTarget=function(){return this._relatedTarget;};proto.dispose=function(){if(this._disposed){return;};this._target=null;this._currentTarget=null;this._relatedTarget=null;QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/events/QxFocusEvent.js b/swat/style/qooxdoo/widgets/events/QxFocusEvent.js
new file mode 100644
index 0000000000..176d59caa2
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/events/QxFocusEvent.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxFocusEvent(eType,autoDispose){QxEvent.call(this,eType,autoDispose);if(eType=="focusin"||eType=="focusout"){this._bubbles=true;this._propagationStopped=false;};};QxFocusEvent.extend(QxEvent,"QxFocusEvent"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/events/QxKeyEvent.js b/swat/style/qooxdoo/widgets/events/QxKeyEvent.js
new file mode 100644
index 0000000000..cc2808e805
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/events/QxKeyEvent.js
@@ -0,0 +1,4 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxKeyEvent(eType,domEvent,autoDispose){QxEvent.call(this,eType,autoDispose);this._domEvent=domEvent;};QxKeyEvent.extend(QxEvent,"QxKeyEvent");QxKeyEvent.keys=
+{esc:27,enter:13,tab:9,space:32,up:38,down:40,left:37,right:39,shift:16,ctrl:17,alt:18,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,del:46,backspace:8,insert:45,home:36,end:35,pageup:33,pagedown:34,numlock:144,numpad_0:96,numpad_1:97,numpad_2:98,numpad_3:99,numpad_4:100,numpad_5:101,numpad_6:102,numpad_7:103,numpad_8:104,numpad_9:105,numpad_divide:111,numpad_multiply:106,numpad_minus:109,numpad_plus:107
+};QxKeyEvent.codes={};for(var i in QxKeyEvent.keys){QxKeyEvent.codes[QxKeyEvent.keys[i]]=i;};proto._domEvent=null;proto._preventDefault=false;proto._bubbles=true;proto._propagationStopped=false;proto.dispose=function(){if(this._disposed)return;this._domEvent=null;QxEvent.prototype.dispose.call(this);};proto.getDomEvent=function(){return this._domEvent;};proto.getDomTarget=function(){return this._domEvent.target||this._domEvent.srcElement;};proto.getKeyCode=function(){return this._domEvent.keyCode||this._domEvent.charCode;};proto.getCtrlKey=function(){return this._domEvent.ctrlKey;};proto.getShiftKey=function(){return this._domEvent.shiftKey;};proto.getAltKey=function(){return this._domEvent.altKey;};proto.setPreventDefault=function(d){if(!this._defaultPrevented&&d){this.preventDefault();}else {return false;};};if((new QxClient).isMshtml()){proto.preventDefault=function(){this._domEvent.returnValue=false;this._defaultPrevented=true;};}else {proto.preventDefault=function(){this._domEvent.preventDefault();this._domEvent.returnValue=false;this._defaultPrevented=true;};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/events/QxMouseEvent.js b/swat/style/qooxdoo/widgets/events/QxMouseEvent.js
new file mode 100644
index 0000000000..b1035ef236
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/events/QxMouseEvent.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMouseEvent(vType,vDomEvent,vAutoDispose,vTarget,vActiveTarget,vRelatedTarget){QxEvent.call(this,vType,vAutoDispose);if(vDomEvent){this._domEvent=vDomEvent;this._domTarget=vDomEvent.target||vDomEvent.srcElement;this._target=isValid(vTarget)?vTarget:this._evalTarget();this._activeTarget=isValid(vActiveTarget)?vActiveTarget:this._evalActiveTarget();this._relatedTarget=isValid(vRelatedTarget)?vRelatedTarget:this._evalRelatedTarget();this._pageX=this._evalPageX();this._pageY=this._evalPageY();this._clientX=this._evalClientX();this._clientY=this._evalClientY();switch(this._button=this._evalButton()){case "left":this._buttonLeft=true;break;case "middle":this._buttonMiddle=true;break;case "right":this._buttonRight=true;break;};};};QxMouseEvent.extend(QxEvent,"QxMouseEvent");proto._bubbles=true;proto._propagationStopped=false;proto._preventDefault=false;proto._domEvent=null;proto._domTarget=null;proto.getDomEvent=function(){return this._domEvent;};proto.getDomTarget=function(){return this._domTarget;};proto._pageX=null;proto._pageY=null;proto.getPageX=function(){return this._pageX;};proto.getPageY=function(){return this._pageY;};if((new QxClient).isGecko()){proto._evalPageX=function(){return this._domEvent.pageX;};proto._evalPageY=function(){return this._domEvent.pageY;};}else if((new QxClient).isMshtml()){if(isInvalid(document.compatMode)||document.compatMode=="BackCompat"){proto._evalPageX=function(){return this._domEvent.clientX+document.documentElement.scrollLeft;};proto._evalPageY=function(){return this._domEvent.clientY+document.documentElement.scrollTop;};}else {proto._evalPageX=function(){return this._domEvent.clientX+document.body.scrollLeft;};proto._evalPageY=function(){return this._domEvent.clientY+document.body.scrollTop;};};}else {proto._evalPageX=function(){return this._domEvent.clientX;};proto._evalPageY=function(){return this._domEvent.clientY;};};proto._clientX=null;proto._clientY=null;proto.getClientX=function(){return this._clientX;};proto.getClientY=function(){return this._clientY;};if((new QxClient).isMshtml()||(new QxClient).isGecko()){proto._evalClientX=function(){return this._domEvent.clientX;};proto._evalClientY=function(){return this._domEvent.clientY;};}else {proto._evalClientX=function(){return this._domEvent.clientX+(document.body&&document.body.scrollLeft!=null?document.body.scrollLeft:0);};proto._evalClientY=function(){return this._domEvent.clientY+(document.body&&document.body.scrollTop!=null?document.body.scrollTop:0);};};proto.getScreenX=function(){return this._domEvent.screenX;};proto.getScreenY=function(){return this._domEvent.screenY;};proto.getCtrlKey=function(){return this._domEvent.ctrlKey;};proto.getShiftKey=function(){return this._domEvent.shiftKey;};proto.getAltKey=function(){return this._domEvent.altKey;};proto.getDomTargetByTagName=function(elemTagName,stopElem){var dt=this.getDomTarget();while(dt&&dt.tagName!=elemTagName&&dt!=stopElem){dt=dt.parentNode;};if(dt&&dt.tagName==elemTagName){return dt;};return null;};if((new QxClient).isMshtml()){proto.preventDefault=function(){this._domEvent.returnValue=false;this._defaultPrevented=true;};}else {proto.preventDefault=function(){this._domEvent.preventDefault();this._domEvent.returnValue=false;this._defaultPrevented=true;};};proto.getDefaultPrevented=function(){return this._defaultPrevented;};proto._target=proto._activeTarget=proto._relatedTarget=null;proto.getTarget=function(){return this._target;};proto.getActiveTarget=function(){return this._activeTarget;};proto.getRelatedTarget=function(){return this._relatedTarget;};proto._evalTarget=function(){return QxEventManager.getTargetObjectFromEvent(this._domEvent);};proto._evalActiveTarget=function(){return QxEventManager.getActiveTargetObjectFromEvent(this._domEvent);};proto._evalRelatedTarget=function(){return QxEventManager.getRelatedActiveTargetObjectFromEvent(this._domEvent);};proto._button=0;proto.getButton=function(){return this._button;};proto.isLeftButton=function(){return this._buttonLeft;};proto.isMiddleButton=function(){return this._buttonMiddle;};proto.isRightButton=function(){return this._buttonRight;};proto.isNotLeftButton=function(){return !this._buttonLeft;};proto.isNotMiddleButton=function(){return !this._buttonMiddle;};proto.isNotRightButton=function(){return !this._buttonRight;};if((new QxClient).isMshtml()){proto._evalButton=function(){var b=this._domEvent.button;return b==1?"left":b==2?"right":b==4?"middle":null;};QxMouseEvent.buttons={left:1,right:2,middle:4};}else {proto._evalButton=function(){var b=this._domEvent.button;return b==0?"left":b==2?"right":b==1?"middle":null;};QxMouseEvent.buttons={left:0,right:2,middle:1};};proto._wheelDelta=0;proto._wheelDeltaEvaluated=false;proto.getWheelDelta=function(){if(this._wheelDeltaEvaluated){return this._wheelDelta;};this._wheelDeltaEvaluated=true;return this._wheelDelta=this._evalWheelDelta();};if((new QxClient).isMshtml()){proto._evalWheelDelta=function(){return this._domEvent.wheelDelta?this._domEvent.wheelDelta/40:0;};}else {proto._evalWheelDelta=function(){return-(this._domEvent.detail||0);};};proto.dispose=function(){if(this.getDisposed()){return;};QxEvent.prototype.dispose.call(this);this._domEvent=null;this._domTarget=null;this._target=null;this._activeTarget=null;this._relatedTarget=null;};QxMouseEvent._screenX=QxMouseEvent._screenY=QxMouseEvent._clientX=QxMouseEvent._clientY=QxMouseEvent._pageX=QxMouseEvent._pageY=0;QxMouseEvent._button=null;QxMouseEvent._storeEventState=function(e){QxMouseEvent._screenX=e.getScreenX();QxMouseEvent._screenY=e.getScreenY();QxMouseEvent._clientX=e.getClientX();QxMouseEvent._clientY=e.getClientY();QxMouseEvent._pageX=e.getPageX();QxMouseEvent._pageY=e.getPageY();QxMouseEvent._button=e.getButton();};QxMouseEvent.getScreenX=function(){return QxMouseEvent._screenX;};QxMouseEvent.getScreenY=function(){return QxMouseEvent._screenY;};QxMouseEvent.getClientX=function(){return QxMouseEvent._clientX;};QxMouseEvent.getClientY=function(){return QxMouseEvent._clientY;};QxMouseEvent.getPageX=function(){return QxMouseEvent._pageX;};QxMouseEvent.getPageY=function(){return QxMouseEvent._pageY;};QxMouseEvent.getButton=function(){return QxMouseEvent._button;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxDataManager.js b/swat/style/qooxdoo/widgets/managers/QxDataManager.js
new file mode 100644
index 0000000000..cb8ba70a89
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxDataManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDataManager(){if(QxDataManager._instance)return QxDataManager._instance;QxManager.call(this);QxDataManager._instance=this;};QxDataManager.extend(QxManager,"QxDataManager"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js b/swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js
new file mode 100644
index 0000000000..5c94c00abc
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxDomSelectionManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDomSelectionManager(vBoundedWidget){QxSelectionManager.call(this,vBoundedWidget);this.setDragSelection(false);this._j5.getItemHashCode=this.getItemHashCode;};QxDomSelectionManager.extend(QxSelectionManager,"QxDomSelectionManager");proto.getItemEnabled=function(oItem){return true;};proto.getItemClassName=function(vItem){return vItem.className||"";};proto.setItemClassName=function(vItem,vClassName){return vItem.className=vClassName;};proto.getItemBaseClassName=function(vItem){var p=vItem.className.split(" ")[0];return p?p:"Status";};proto.getNextSibling=function(vItem){return vItem.nextSibling;};proto.getPreviousSibling=function(vItem){return vItem.previousSibling;};proto.getItemHashCode=function(vItem){return vItem.toHash();};proto.getItemLeft=function(vItem){return vItem.offsetLeft;};proto.getItemTop=function(vItem){return vItem.offsetTop;};proto.getItemWidth=function(vItem){return vItem.offsetWidth;};proto.getItemHeight=function(vItem){return vItem.offsetHeight;};proto.getItemHashCode=function(oItem){if(oItem._hash){return oItem._hash;};return oItem._hash=QxObject.toHash(oItem);};proto.isBefore=function(vItem1,vItem2){var pa=vItem1.parentNode;for(var i=0,l=pa.childNodes.length;i<l;i++){switch(pa.childNodes[i]){case vItem2:return false;case vItem1:return true;};};};proto.scrollItemIntoView=function(vItem){this.getBoundedWidget().scrollItemIntoView(vItem);};proto.getItems=function(){return this.getBoundedWidget().getItems();};proto.getAbove=function(vItem){var vParent=vItem.parentNode;var vFound=false;var vLeft=vItem.offsetLeft;var vChild;for(var i=vParent.childNodes.length-1;i>0;i--){vChild=vParent.childNodes[i];if(vFound==false){if(vChild==vItem){vFound=true;};}else {if(vChild.offsetLeft==vLeft){return vChild;};};};};proto.getUnder=function(vItem){var vParent=vItem.parentNode;var vFound=false;var vLeft=vItem.offsetLeft;var vChild;for(var i=0,l=vParent.childNodes.length;i<l;i++){vChild=vParent.childNodes[i];if(vFound==false){if(vChild==vItem){vFound=true;};}else {if(vChild.offsetLeft==vLeft){return vChild;};};};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js b/swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js
new file mode 100644
index 0000000000..d1b98ecc21
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxDragAndDropManager.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDragAndDropManager(){if(QxDragAndDropManager._instance){return QxDragAndDropManager._instance;};QxTarget.call(this);this._k1={};this._k2={};this._k3={};var d=window.application.getClientWindow().getClientDocument();var a=["move","copy","alias","nodrop"];var c;for(var i=0;i<a.length;i++){c = this._k3[a[i]] = new QxImage("widgets/cursors/" + a[i] + ".gif");c.setTimerCreate(false);c.setStyleProperty("top","-1000px");c.setZIndex(10000);c.setParent(d);};QxDragAndDropManager._instance=this;};QxDragAndDropManager.extend(QxManager,"QxDragAndDropManager");QxDragAndDropManager.addProperty({name:"sourceWidget",type:Object});QxDragAndDropManager.addProperty({name:"destinationWidget",type:Object});QxDragAndDropManager.addProperty({name:"cursor",type:Object});QxDragAndDropManager.addProperty({name:"currentAction",type:String});proto._k5=null;proto._modifyDestinationWidget=function(_b1,_b2,_b3,_b4){if(_b1){_b1.dispatchEvent(new QxDragEvent("dragdrop",this._k5));this._k5=null;};return true;};proto.addData=function(vMimeType,vData){this._k1[vMimeType]=vData;};proto.getData=function(vMimeType){return this._k1[vMimeType];};proto.clearData=function(){this._k1={};};proto.getDropDataTypes=function(){var dw=this.getDestinationWidget();var st=[];if(!dw){return st;};var ddt=dw.getDropDataTypes();var ddtl=ddt.length;for(var i=0;i<ddtl;i++){if(ddt[i]in this._k1){st.push(ddt[i]);};};return st;};proto.startDrag=function(){if(!this._k6){throw new Error("Invalid usage of startDrag. Missing dragInfo!");};this._k6.dragHandlerActive=true;this.setSourceWidget(this._k6.sourceWidget);};proto._fireUserEvents=function(fromWidget,toWidget,e){if(fromWidget&&fromWidget!=toWidget){var outEvent=new QxDragEvent("dragout",e);outEvent._relatedTarget=toWidget;fromWidget.dispatchEvent(outEvent,true);outEvent=null;};if(toWidget){if(fromWidget!=toWidget){var overEvent=new QxDragEvent("dragover",e);overEvent._relatedTarget=fromWidget;toWidget.dispatchEvent(overEvent,true);overEvent=null;};var moveEvent=new QxDragEvent("dragmove",e);toWidget.dispatchEvent(moveEvent,true);moveEvent=null;};};proto.handleMouseEvent=function(e){switch(e.getType()){case "mousedown":return this._handleMouseDown(e);case "mouseup":return this._handleMouseUp(e);case "mousemove":return this._handleMouseMove(e);};};proto._handleMouseDown=function(e){if(e.getDefaultPrevented()){return;};this._k6={startScreenX:e.getScreenX(),startScreenY:e.getScreenY(),pageX:e.getPageX(),pageY:e.getPageY(),sourceWidget:e.getTarget(),dragHandlerActive:false,hasFiredDragStart:false
+};this._k6.sourceTopLevel=this._k6.sourceWidget.getTopLevelWidget();};proto._handleMouseMove=function(e){if(!this._k6){return;};if(this._k6.dragHandlerActive){this._k6.pageX=e.getPageX();this._k6.pageY=e.getPageY();var currentDropTarget=this.getDropTarget(e);this.setCurrentAction(currentDropTarget?this._evalNewAction(e.getShiftKey(),e.getCtrlKey(),e.getAltKey()):null);this._fireUserEvents(this._k6.currentDropWidget,currentDropTarget,e);this._k6.currentDropWidget=currentDropTarget;this._renderCursor();}else if(!this._k6.hasFiredDragStart){if(Math.abs(e.getScreenX()-this._k6.startScreenX)>5||Math.abs(e.getScreenY()-this._k6.startScreenY)>5){this._k6.sourceWidget.dispatchEvent(new QxDragEvent("dragstart",e));this._k6.hasFiredDragStart=true;if(this._k6.dragHandlerActive){this._fireUserEvents(this._k6.currentDropWidget,this._k6.sourceWidget,e);this._k6.currentDropWidget=this._k6.sourceWidget;var clientDocument=window.application.getClientWindow().getClientDocument();clientDocument.setCapture(true);clientDocument.addEventListener("losecapture",this.cancelDrag,this);};};};};proto._handleMouseUp=function(e){if(!this._k6){return;};if(this._k6.dragHandlerActive){this._endDrag(this.getDropTarget(e),e);}else {this._k6=null;};};proto.handleKeyEvent=function(e){if(!this._k6){return;};switch(e.getType()){case "keydown":this._handleKeyDown(e);return;case "keyup":this._handleKeyUp(e);return;};};proto._handleKeyDown=function(e){if(e.getKeyCode()==QxKeyEvent.keys.esc){this.cancelDrag();}else if(this.getCurrentAction()!=null){switch(e.getKeyCode()){case QxKeyEvent.keys.shift:case QxKeyEvent.keys.ctrl:case QxKeyEvent.keys.alt:this.setAction(this._evalNewAction(e.getShiftKey(),e.getCtrlKey(),e.getAltKey()));this._renderCursor();};};};proto._handleKeyUp=function(e){var bShiftPressed=e.getKeyCode()==QxKeyEvent.keys.shift;var bCtrlPressed=e.getKeyCode()==QxKeyEvent.keys.strl;var bAltPressed=e.getKeyCode()==QxKeyEvent.keys.alt;if(bShiftPressed||bCtrlPressed||bAltPressed){if(this.getCurrentAction()!=null){this.setAction(this._evalNewAction(!bShiftPressed&&e.getShiftKey(),! bCtrlPressed&&e.getCtrlKey(),!bAltPressed&&e.getAltKey()));this._renderCursor();};};e.preventDefault();};proto.cancelDrag=function(e){this._endDrag(null,e);};proto.globalCancelDrag=function(){if(this._k6&&this._k6.dragHandlerActive){this._endDragCore();};};proto._endDrag=function(currentDestinationWidget,e){if(currentDestinationWidget){this._k5=e;this.setDestinationWidget(currentDestinationWidget);};this.getSourceWidget().dispatchEvent(new QxDragEvent("dragend",e));this._fireUserEvents(this._k6&&this._k6.currentDropWidget,null,e);this._endDragCore();};proto._endDragCore=function(){this.setCursor(null);var d=window.application.getClientWindow().getClientDocument();d.removeEventListener("losecapture",this.cancelDrag,this);d.setCapture(false);if(this._k6){this._k6.currentDropWidget=null;this._k6=null;};this.clearData();this.clearActions();this.setSourceWidget(null);this.setDestinationWidget(null);};proto._renderCursor=function(){var newCursor;switch(this.getCurrentAction()){case "move":newCursor=this._k3.move;break;case "copy":newCursor=this._k3.copy;break;case "alias":newCursor=this._k3.alias;break;default:newCursor=this._k3.nodrop;};newCursor._d3Horizontal(this._k6.pageX+5);newCursor._d3Vertical(this._k6.pageY+15);this.setCursor(newCursor);};proto._modifyCursor=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setStyleProperty("display","none");};if(_b1){_b1.removeStyleProperty("display");};return true;};proto.supportsDrop=function(vWidget){var types=vWidget.getDropDataTypes();if(!types){return false;};for(var i=0;i<types.length;i++){if(types[i]in this._k1){return true;};};return false;};if((new QxClient).isGecko()){proto.getDropTarget=function(e){var currentWidget=e.getTarget();if(currentWidget==this._k6.sourceWidget){currentWidget=this._k6.sourceTopLevel.getWidgetFromPoint(e.getPageX(),e.getPageY());}else {currentWidget=QxEventManager.getActiveTargetObject(null,currentWidget);};while(currentWidget!=null){if(this.supportsDrop(currentWidget)){return currentWidget;};currentWidget=currentWidget.getParent();};return null;};}else {proto.getDropTarget=function(e){var currentWidget=e.getActiveTarget();while(currentWidget!=null){if(this.supportsDrop(currentWidget)){return currentWidget;};currentWidget=currentWidget.getParent();};return null;};};proto.addAction=function(vAction,vForce){this._k2[vAction]=true;if(vForce||this.getCurrentAction()==null){this.setCurrentAction(vAction);};};proto.clearActions=function(){this._k2={};this.setCurrentAction(null);};proto.removeAction=function(sAction){delete this._k2[sAction];if(this.getCurrentAction()==sAction){this.setCurrentAction(null);};};proto.setAction=function(s){if(s!=null&&!(s in this._k2)){this.addAction(s,true);}else {this.setCurrentAction(s);};};proto._evalNewAction=function(kShift,kCtrl,kAlt){if(kShift&&kCtrl&&this._k4("alias")){return "alias";}else if(kShift&&kAlt&&this._k4("copy")){return "copy";}else if(kShift&&this._k4("move")){return "move";}else if(kAlt&&this._k4("alias")){return "alias";}else if(kCtrl&&this._k4("copy")){return "copy";}else {for(var action in this._k2){return action;};};return null;};proto._k4=function(vAction){return vAction in this._k2;};proto.dispose=function(){if(this.getDisposed()){return;};this._k1=null;this._k2=null;this.setSourceWidget(null);this.setDestinationWidget(null);this._lastdestinationWidgetEvent=null;this._k6=null;if(QxDragAndDropManager._k3){if(QxDragAndDropManager._k3.move){QxDragAndDropManager._k3.move.dispose();QxDragAndDropManager._k3.move=null;};if(QxDragAndDropManager._k3.copy){QxDragAndDropManager._k3.copy.dispose();QxDragAndDropManager._k3.copy=null;};if(QxDragAndDropManager._k3.alias){QxDragAndDropManager._k3.alias.dispose();QxDragAndDropManager._k3.alias=null;};if(QxDragAndDropManager._k3.nodrop){QxDragAndDropManager._k3.nodrop.dispose();QxDragAndDropManager._k3.nodrop=null;};QxDragAndDropManager._k3=null;};QxManager.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxEventManager.js b/swat/style/qooxdoo/widgets/managers/QxEventManager.js
new file mode 100644
index 0000000000..53ef5f26ac
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxEventManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxEventManager(vClientWindow){QxObject.call(this);var o=this;this.__onmouseevent=function(e){return o._onmouseevent(e);};this.__onkeyevent=function(e){return o._onkeyevent(e);};this.__ondragevent=function(e){return o._ondragevent(e);};this.__onwindowblur=function(e){return o._onwindowblur(e);};this.__onwindowfocus=function(e){return o._onwindowfocus(e);};this.__onwindowresize=function(e){return o._onwindowresize(e);};if(isValid(vClientWindow)){this.attachEvents(vClientWindow);};this._commands={};};QxEventManager.extend(QxManager,"QxEventManager");QxEventManager.mouseEventTypes=["mouseover","mousemove","mouseout","mousedown","mouseup","click","dblclick","contextmenu",(new QxClient).isMshtml()?"mousewheel":"DOMMouseScroll"];QxEventManager.keyEventTypes=["keydown","keypress","keyup"];QxEventManager.dragEventTypes=(new QxClient).isGecko()?["dragdrop","dragenter","dragexit","draggesture","dragover"]:[];QxEventManager.addProperty({name:"allowClientContextMenu",type:Boolean,defaultValue:false});QxEventManager.addProperty({name:"captureWidget"});proto._attachedClientWindow=null;proto._lastMouseEventType=null;proto._lastMouseDown=false;proto._lastMouseEventDate=0;proto._modifyCaptureWidget=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setCapture(false,_b4);};if(_b1){_b1.setCapture(true,_b4);};return true;};proto.addCommand=function(vCommand){this._commands[vCommand.toHash()]=vCommand;};proto.removeCommand=function(vCommand){delete this._commands[vCommand.toHash()];};proto._checkKeyEventMatch=function(e){var vCommand;for(var vHash in this._commands){vCommand=this._commands[vHash];if(vCommand.getEnabled()&&vCommand._matchesKeyEvent(e)){if(!vCommand.execute()){e.preventDefault();};};};};proto.attachEvents=function(clientWindow){if(this._attachedClientWindow){return false;};this._attachedClientWindow=clientWindow;this.attachEventTypes(QxEventManager.mouseEventTypes,this.__onmouseevent);this.attachEventTypes(QxEventManager.keyEventTypes,this.__onkeyevent);this.attachEventTypes(QxEventManager.dragEventTypes,this.__ondragevent);this.attachWindowEvents();};if((new QxClient).isMshtml()){proto.attachWindowEvents=function(){var winElem=this._attachedClientWindow.getElement();winElem.attachEvent("onblur",this.__onwindowblur);winElem.attachEvent("onfocus",this.__onwindowfocus);winElem.attachEvent("onresize",this.__onwindowresize);};}else {proto.attachWindowEvents=function(){var winElem=this._attachedClientWindow.getElement();winElem.addEventListener("blur",this.__onwindowblur,false);winElem.addEventListener("focus",this.__onwindowfocus,false);winElem.addEventListener("resize",this.__onwindowresize,false);};};proto.detachEvents=function(){if(!this._attachedClientWindow){return false;};this.detachWindowEvents();this.detachEventTypes(QxEventManager.mouseEventTypes,this.__onmouseevent);this.detachEventTypes(QxEventManager.keyEventTypes,this.__onkeyevent);this.detachEventTypes(QxEventManager.dragEventTypes,this.__ondragevent);this._attachedClientWindow=null;};if((new QxClient).isMshtml()){proto.detachWindowEvents=function(){try{var winElem=this._attachedClientWindow.getElement();winElem.detachEvent("onblur",this.__onwindowblur);winElem.detachEvent("onfocus",this.__onwindowfocus);winElem.detachEvent("onresize",this.__onwindowresize);}catch(ex){};};}else {proto.detachWindowEvents=function(){try{var winElem=this._attachedClientWindow.getElement();winElem.removeEventListener("blur",this.__onwindowblur,false);winElem.removeEventListener("focus",this.__onwindowfocus,false);winElem.removeEventListener("resize",this.__onwindowresize,false);}catch(ex){};};};proto.attachEventTypes=function(eventTypes,functionPointer){try{var d=this._attachedClientWindow.getClientDocument().getElement();if(d.attachEvent){for(var i=0;i<eventTypes.length;i++){d.attachEvent("on"+eventTypes[i],functionPointer);};}else if(d.addEventListener){for(var i=0;i<eventTypes.length;i++){d.addEventListener(eventTypes[i],functionPointer,false);};};}catch(ex){};};proto.detachEventTypes=function(eventTypes,functionPointer){try{var d=this._attachedClientWindow.getClientDocument().getElement();if(d.detachEvent){for(var i=0;i<eventTypes.length;i++){d.detachEvent("on"+eventTypes[i],functionPointer);};}else if(d.removeEventListener){for(var i=0;i<eventTypes.length;i++){d.removeEventListener(eventTypes[i],functionPointer,false);};};}catch(ex){};};QxEventManager.getTargetObject=function(n){while(n!=null&&n._QxWidget==null){try{n=n.parentNode;}catch(e){n=null;};};return n?n._QxWidget:null;};QxEventManager.getTargetObjectFromEvent=function(e){return QxEventManager.getTargetObject(e.target||e.srcElement);};QxEventManager.getRelatedTargetObjectFromEvent=function(e){return QxEventManager.getTargetObject(e.relatedTarget||(e.type=="mouseover"?e.fromElement:e.toElement));};QxEventManager.getActiveTargetObject=function(n,o){if(!o){var o=QxEventManager.getTargetObject(n);if(!o){return null;};};while(o){if(!o.getEnabled()){return;};if(!o.getAnonymous()){break;};o=o.getParent();};return o;};QxEventManager.getActiveTargetObjectFromEvent=function(e){return QxEventManager.getActiveTargetObject(e.target||e.srcElement);};QxEventManager.getRelatedActiveTargetObjectFromEvent=function(e){return QxEventManager.getActiveTargetObject(e.relatedTarget||(e.type=="mouseover"?e.fromElement:e.toElement));};proto._onkeyevent=function(e){if(this.getDisposed()||typeof QxKeyEvent!="function"){return;};if(!e){e=this._attachedClientWindow.getElement().event;};var k=e.keyCode||e.charCode;if(k==QxKeyEvent.keys.tab){if((new QxClient).isNotMshtml()){e.preventDefault();};e.returnValue=false;if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};this._attachedClientWindow.getFocusManager()._ontabevent(e);}else {if(k==QxKeyEvent.keys.esc){if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};};var o=this.getCaptureWidget()||(new QxApplication).getActiveWidget();if(o==null||!o.getEnabled()){return;};var s=new QxKeyEvent(e.type,e,false);if(e.type=="keypress"){this._checkKeyEventMatch(s);};var r=o.dispatchEvent(s);if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).handleKeyEvent(s);};s.dispose();return r;};};if((new QxClient).isMshtml()){proto._onmouseevent=function(e){if(!e){e=this._attachedClientWindow.getElement().event;};var t=e.type;if(t=="mousemove"){if(this._mouseIsDown&&e.button==0){this._onmouseevent_post(e,"mouseup");this._mouseIsDown=false;};}else {if(t=="mousedown"){this._mouseIsDown=true;}else if(t=="mouseup"){this._mouseIsDown=false;};if(t=="mouseup"&&!this._lastMouseDown&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(e,"mousedown");}else if(t=="dblclick"&&this._lastMouseEventType=="mouseup"&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(e,"click");};if(t=="mousedown"||t=="mouseup"||t=="click"||t=="dblclick"||t=="contextmenu"){this._lastMouseEventType=t;this._lastMouseEventDate=(new Date).valueOf();this._lastMouseDown=t=="mousedown";};};this._onmouseevent_post(e,t);};}else {proto._onmouseevent=function(e){var t=e.type;switch(t){case "DOMMouseScroll":t="mousewheel";break;case "click":case "dblclick":if(e.button!=QxMouseEvent.buttons.left){return;};};this._onmouseevent_post(e,t);};};proto._onmouseevent_post=function(e,t){var vEventObject,vDispatchTarget,vTarget,vActiveTarget,vRelatedTarget;switch(t){case "contextmenu":if(!this.getAllowClientContextMenu()){if(!(new QxClient).isMshtml()){e.preventDefault();};e.returnValue=false;};break;case "mousedown":this._onactivateevent(e);break;};vDispatchTarget=this.getCaptureWidget();vTarget=QxEventManager.getTargetObjectFromEvent(e);if(!isValidObject(vDispatchTarget)){vDispatchTarget=vActiveTarget=QxEventManager.getActiveTargetObject(null,vTarget);if(!isValidObject(vDispatchTarget)){return;};}else {vActiveTarget=QxEventManager.getActiveTargetObject(null,vTarget);};switch(t){case "mouseover":case "mouseout":vRelatedTarget=QxEventManager.getRelatedActiveTargetObjectFromEvent(e);if(vRelatedTarget==vActiveTarget){return;};};vEventObject=new QxMouseEvent(t,e,false,vTarget,vActiveTarget,vRelatedTarget);QxMouseEvent._storeEventState(vEventObject);if(t=="mousedown"){if(typeof QxPopupManager=="function"){(new QxPopupManager).update(vActiveTarget);};};vDispatchTarget.dispatchEvent(vEventObject);switch(t){case "mousedown":if(!vEventObject.getPropagationStopped()){if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};};break;case "mouseover":if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleMouseOver(vEventObject);};break;case "mouseout":if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleMouseOut(vEventObject);};break;};if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).handleMouseEvent(vEventObject);};vEventObject.dispose();vEventObject=null;};proto._ondragevent=function(e){e.preventDefault();e.returnValue=false;e.preventBubble();};proto._onwindowblur=function(e){if(this._ignoreBlur){delete this._ignoreBlur;return;};this._allowFocus=true;if(typeof QxPopupManager=="function"){(new QxPopupManager).update();};if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).globalCancelDrag();};var vDoc=this._attachedClientWindow.getDocument();if(vDoc.hasEventListeners("blur")){vDoc.dispatchEvent(new QxEvent("blur"),true);};};proto._onwindowfocus=function(e){if(!this._allowFocus){return;};delete this._allowFocus;var vDoc=this._attachedClientWindow.getDocument();if(vDoc.hasEventListeners("focus")){vDoc.dispatchEvent(new QxEvent("focus"),true);};};proto._onwindowresize=function(e){this._attachedClientWindow.getDocument().dispatchEvent(new QxEvent("resize"),true);};proto._onactivateevent=function(e){var n=e.target||e.srcElement;while(n!=null&&n._QxWidget==null){n=n.parentNode;};if(n==null){return;};var o=n._QxWidget;var oactive=o;if(o){while(o!=null&&!o.canGetFocus()){o=o.getParent();};if(o){o.setFocused(true);};if(oactive!=o){(new QxApplication).setActiveWidget(oactive);};};this._ignoreBlur=true;};proto.dispose=function(){if(this.getDisposed()){return;};this.detachEvents();this._attachedClientWindow=null;this._lastMouseEventType=null;this._lastMouseDown=null;this._lastMouseEventDate=null;if(this._commands){for(var vHash in this._commands){this._commands[vHash].dispose();delete this._commands[vHash];};this._commands=null;};QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxFocusManager.js b/swat/style/qooxdoo/widgets/managers/QxFocusManager.js
new file mode 100644
index 0000000000..13a2c524dc
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxFocusManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxFocusManager(vClientWindow){QxObject.call(this);if(isValid(vClientWindow)){this._attachedClientWindow=vClientWindow;};};QxFocusManager.extend(QxManager,"QxFocusManager");QxFocusManager.addProperty({name:"focusedWidget"});proto._attachedClientWindow=null;proto._modifyFocusedWidget=function(_b1,_b2,_b3,_b4){var cIn=typeof _b1=="object"&&_b1!=null;var cOut=typeof _b2=="object"&&_b2!=null;if(cIn&&typeof QxPopupManager=="function"){(new QxPopupManager).update(_b1);};if(cOut){var s=new QxFocusEvent("focusout",false);if(cIn){s.setRelatedTarget(_b1);};_b2.dispatchEvent(s);s.dispose();};if(cIn){var s=new QxFocusEvent("focusin",false);if(cOut){s.setRelatedTarget(_b2);};_b1.dispatchEvent(s);s.dispose();};if(cOut){_b2.setFocused(false,_b4);var s=new QxFocusEvent("blur",false);if(cIn){s.setRelatedTarget(_b1);};_b2.dispatchEvent(s);if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleBlur(s);};s.dispose();(new QxApplication).setActiveWidget(null);};if(cIn){_b1.setFocused(true,_b4);var s=new QxFocusEvent("focus",false);if(cOut){s.setRelatedTarget(_b2);};_b1.dispatchEvent(s);if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleFocus(s);};s.dispose();(new QxApplication).setActiveWidget(_b1);};return true;};proto._ontabeventname=(new QxClient).isMshtml()?"keydown":"keypress";proto._ontabevent=function(e){if(e.type!=this._ontabeventname||!this._attachedClientWindow){return;};var cd=this._attachedClientWindow.getDocument();var current=this.getFocusedWidget();if(!e.shiftKey){var next=current?this.getWidgetAfter(cd,current):this.getFirstWidget(cd);}else {var next=current?this.getWidgetBefore(cd,current):this.getLastWidget(cd);};if(next){next.setFocused(true);next._ontabfocus();};};proto.compareTabOrder=function(c1,c2){if(c1==c2){return 0;};var t1=c1.getTabIndex();var t2=c2.getTabIndex();if(t1!=t2){return t1-t2;};var y1=c1.getComputedPageBoxTop();var y2=c2.getComputedPageBoxTop();if(y1!=y2){return y1-y2;};var x1=c1.getComputedPageBoxLeft();var x2=c2.getComputedPageBoxLeft();if(x1!=x2){return x1-x2;};var z1=c1.getZIndex();var z2=c2.getZIndex();if(z1!=z2){return z1-z2;};return 0;};proto.getFirstWidget=function(oContainer){return this._getFirst(oContainer,null);};proto.getLastWidget=function(oContainer){return this._getLast(oContainer,null);};proto.getWidgetAfter=function(oContainer,oWidget){if(oContainer==oWidget){return this.getFirstWidget(oContainer);};if(oWidget.getAnonymous()){oWidget=oWidget.getParent();};if(oWidget==null){return[];};var all=[];this._getAllAfter(oContainer,oWidget,all);all.sort(this.compareTabOrder);return all.length>0?all[0]:this.getFirstWidget(oContainer);};proto.getWidgetBefore=function(oContainer,oWidget){if(oContainer==oWidget){return this.getLastWidget(oContainer);};if(oWidget.getAnonymous()){oWidget=oWidget.getParent();};if(oWidget==null){return[];};var all=[];this._getAllBefore(oContainer,oWidget,all);all.sort(this.compareTabOrder);var l=all.length;return l>0?all[l-1]:this.getLastWidget(oContainer);};proto._getAllAfter=function(oCont,oComp,oArray){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0&&this.compareTabOrder(oComp,cs[i])<0){oArray.push(cs[i]);};if(!cs[i].isFocusRoot()){this._getAllAfter(cs[i],oComp,oArray);};};};proto._getAllBefore=function(oCont,oComp,oArray){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0&&this.compareTabOrder(oComp,cs[i])>0){oArray.push(cs[i]);};if(!cs[i].isFocusRoot()){this._getAllBefore(cs[i],oComp,oArray);};};};proto._getFirst=function(oCont,oFirst){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0){if(oFirst==null||this.compareTabOrder(cs[i],oFirst)<0){oFirst=cs[i];};};if(!cs[i].isFocusRoot()){oFirst=this._getFirst(cs[i],oFirst);};};return oFirst;};proto._getLast=function(oCont,oLast){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0){if(oLast==null||this.compareTabOrder(cs[i],oLast)>0){oLast=cs[i];};};if(! cs[i].isFocusRoot()){oLast=this._getLast(cs[i],oLast);};};return oLast;};proto.dispose=function(){if(this.getDisposed()){return;};this._attachedClientWindow=null;QxObject.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxImageManager.js b/swat/style/qooxdoo/widgets/managers/QxImageManager.js
new file mode 100644
index 0000000000..233a9017eb
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxImageManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxImageManager(){if(QxImageManager._instance){return QxImageManager._instance;};this.addIconTheme("Crystal SVG","crystalsvg");this.addIconTheme("Nuvola","nuvola");this.addWidgetTheme("Windows","windows");QxManager.call(this);QxImageManager._instance=this;};QxImageManager.extend(QxManager,"QxImageManager");QxImageManager.addProperty({ name : "path", type : String, defaultValue : "../../images/" });QxImageManager.addProperty({name:"iconTheme",type:String,defaultValue:"crystalsvg"});QxImageManager.addProperty({name:"widgetTheme",type:String,defaultValue:"windows"});proto._iconThemes={};proto._widgetThemes={};proto.getBlank=function(){return this.getPath()+"core/blank.gif";};proto.buildURI=function(vPath){switch(vPath.charAt(0)){case "/":case ".":return vPath;default:switch(vPath.substring(0,vPath.indexOf(":"))){case "http":case "https":case "file":return vPath;};if(vPath.indexOf("icons")==0){return this.getPath() + "icons/" + this.getIconTheme() + "/" + vPath.substring(6);}else if(vPath.indexOf("widgets")==0){return this.getPath() + "widgets/" + this.getWidgetTheme() + "/" + vPath.substring(8);};return this.getPath()+vPath;};};proto._updateImages=function(){var o;for(var i in this._objects){o=this._objects[i];o.setPreloader(new QxImagePreloader(this.buildURI(o.getSource())));};return true;};proto._modifyPath=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto._checkIconTheme=function(_b1){if(this._iconThemes[_b1]){return _b1;};for(var i in this._iconThemes){if(this._iconThemes[i].title==_b1){return i;};};throw new Error("Invalid icon theme id/title:"+_b1+"!");};proto._modifyIconTheme=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto.addIconTheme=function(vHash,vTitle,vId,vPath){if(isInvalidString(vTitle)){throw new Error("Please define the title of the new icon theme.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this._iconThemes[vId]){throw new Error("Theme is already defined:"+vId);};this._iconThemes[vId]={title:vTitle,path:vPath?vPath:vId};};proto.removeIconTheme=function(vHash,vTitle,vId){if(isInvalidString(vTitle)){throw new Error("Please define the title of the icon theme which should be removed.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this.getDefaultIconTheme()==vId){throw new Error("Could not remove default theme "+this.getDefaultIconTheme()+"!");};if(this.getIconTheme()==vId){this.resetIconTheme();};delete this._iconThemes[vId];};proto._checkWidgetTheme=function(_b1){if(this._widgetThemes[_b1]){return _b1;};for(var i in this._widgetThemes){if(this._widgetThemes[i].title==_b1){return i;};};throw new Error("Invalid widget theme id/title:"+_b1+"!");};proto._modifyWidgetTheme=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto.addWidgetTheme=function(vHash,vTitle,vId,vPath){if(isInvalidString(vTitle)){throw new Error("Please define the title of the new widget theme.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this._widgetThemes[vId]){throw new Error("Theme is already defined:"+vId);};this._widgetThemes[vId]={title:vTitle,path:vPath?vPath:vId};};proto.removeWidgetTheme=function(vHash,vTitle,vId){if(isInvalidString(vTitle)){throw new Error("Please define the title of the widget theme which should be removed.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this.getDefaultWidgetTheme()==vId){throw new Error("Could not remove default theme "+this.getDefaultWidgetTheme()+"!");};if(this.getWidgetTheme()==vId){this.resetWidgetTheme();};delete this._widgetThemes[vId];}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js b/swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js
new file mode 100644
index 0000000000..1d2549908c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxImagePreloaderManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxImagePreloaderManager(){if(QxImagePreloaderManager._instance){return QxImagePreloaderManager._instance;};QxManager.call(this);QxImagePreloaderManager._instance=this;};QxImagePreloaderManager.extend(QxManager,"QxImagePreloaderManager");proto.add=function(oObject){this._objects[oObject.getUri()]=oObject;};proto.remove=function(oObject){delete this._objects[oObject.getUri()];};proto.has=function(oUri){return this._objects[String(oUri)]!=null;};proto.get=function(oUri){return this._objects[String(oUri)];}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxManager.js b/swat/style/qooxdoo/widgets/managers/QxManager.js
new file mode 100644
index 0000000000..6fd02f7f6a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxManager(){QxTarget.call(this);this._objects={};};QxManager.extend(QxTarget,"QxManager");proto.add=function(oObject){var h=oObject.toHash();if(this._objects[h]){this.debug("Already known:"+oObject);return false;};this._objects[h]=oObject;return true;};proto.remove=function(oObject){delete this._objects[oObject.toHash()];return true;};proto.has=function(oObject){return this._objects[oObject.toHash()]!=null;};proto.get=function(oObject){return this._objects[oObject.toHash()];};proto.dispose=function(){if(this.getDisposed()){return;};if(typeof this._objects!="undefined"){for(var i in this._objects){if(typeof this._objects[i]=="object")this._objects[i].dispose();delete this._objects[i];};delete this._objects;};QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxMenuManager.js b/swat/style/qooxdoo/widgets/managers/QxMenuManager.js
new file mode 100644
index 0000000000..c5ca51809b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxMenuManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuManager(){if(QxMenuManager._instance){return QxMenuManager._instance;};QxManager.call(this);QxMenuManager._instance=this;};QxMenuManager.extend(QxManager,"QxMenuManager");proto.update=function(oTarget){var m;for(var vHash in this._objects){m=this._objects[vHash];if(!m.getAutoHide()){continue;};m.setVisible(false);};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxPopupManager.js b/swat/style/qooxdoo/widgets/managers/QxPopupManager.js
new file mode 100644
index 0000000000..f7fb74eede
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxPopupManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxPopupManager(){if(QxPopupManager._instance){return QxPopupManager._instance;};QxManager.call(this);QxPopupManager._instance=this;};QxPopupManager.extend(QxManager,"QxPopupManager");proto.update=function(oTarget){var p;for(var vHash in this._objects){p=this._objects[vHash];if(!p.getAutoHide()){continue;};if(!oTarget||p!=oTarget&&(!p.contains(oTarget)||p.getVisible())&&new Date-p.getShowTimeStamp()>100){p.setVisible(false);};};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js b/swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js
new file mode 100644
index 0000000000..a6eef53f50
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxRadioButtonManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxRadioButtonManager(vName,vMembers){QxTarget.call(this);this._items=[];this._managerId=this.classname+(++QxRadioButtonManager._managerCount);if(isValid(vName)){this.setName(vName);};if(isValid(vMembers)){QxRadioButtonManager.prototype.add.apply(this,vMembers);};};QxRadioButtonManager._managerCount=0;QxRadioButtonManager.extend(QxManager,"QxRadioButtonManager");QxRadioButtonManager.addProperty({name:"selected",type:Object});QxRadioButtonManager.addProperty({name:"name",type:String});proto.getItems=function(){return this._items;};proto.add=function(){var a=arguments;var l=a.length;var lastOne=a[l-1];if(lastOne instanceof QxWidget){var _b4;}else {var _b4=lastOne;l--;};var oRadioButton;for(var i=0;i<l;i++){oRadioButton=a[i];if(this._items.contains(oRadioButton)){return;};this._items.push(oRadioButton);oRadioButton.setGroup(this,_b4);if(oRadioButton.getChecked()){this.setSelected(oRadioButton,_b4);};oRadioButton.setEnabled(this.getEnabled(),_b4);oRadioButton.setName(this.getName(),_b4);};};proto.remove=function(oRadioButton,_b4){this._items.remove(oRadioButton);oRadioButton.setGroup(null,_b4);if(oRadioButton.getChecked()){this.setSelected(null);};};proto._modifySelected=function(_b1,_b2,_b3,_b4){if(_b2&&_b2.getChecked()){_b2.setChecked(false,_b4);};if(_b1&&!_b1.getChecked()){_b1.setChecked(true,_b4);};return true;};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){for(var i=0;i<this._items.length;i++){this._items[i].setEnabled(_b1,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){for(var i=0;i<this._items.length;i++){this._items[i].setName(_b1,_b4);};return true;};proto.selectNext=function(oRadioButton){var index=this._items.indexOf(oRadioButton);if(index==-1)return;var i=0;var l=this._items.length;index=(index+1)% l;while(i<l&&! this._items[index].getEnabled()){index=(index+1)% l;i++;};this._selectByIndex(index);};proto.selectPrevious=function(oRadioButton){var index=this._items.indexOf(oRadioButton);if(index==-1)return;var i=0;var l=this._items.length;index=(index-1+l)% l;while(i<l&&! this._items[index].getEnabled()){index=(index-1+l)% l;i++;};this._selectByIndex(index);};proto._selectByIndex=function(index){if(this._items[index].getEnabled()){this.setSelected(this._items[index]);this._items[index].setFocused(true);};};proto.dispose=function(){if(this._disposed){return;};if(this._items){for(var i;i<this._items.length;i++){this._items[i].dispose();delete this._items[i];};};delete this._items;delete this._managerId;return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxRangeManager.js b/swat/style/qooxdoo/widgets/managers/QxRangeManager.js
new file mode 100644
index 0000000000..c9757cb3ba
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxRangeManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxRangeManager(){QxTarget.call(this);};QxRangeManager.extend(QxManager,"QxRangeManager");QxRangeManager.addProperty({name:"value",type:Number,defaultValue:0});QxRangeManager.addProperty({name:"min",type:Number,defaultValue:0});QxRangeManager.addProperty({name:"max",type:Number,defaultValue:100});proto._checkValue=function(_b1){return Math.max(this.getMin(),Math.min(this.getMax(),Math.floor(_b1)));};proto._modifyValue=function(_b1,_b2,_b3,_b4){if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};proto._checkMax=function(_b1){return Math.floor(_b1);};proto._modifyMax=function(_b1,_b2,_b3,_b4){this.setValue(Math.min(this.getValue(),_b1));if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};proto._checkMin=function(_b1){return Math.floor(_b1);};proto._modifyMin=function(_b1,_b2,_b3,_b4){this.setValue(Math.max(this.getValue(),_b1));if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxSelectionManager.js b/swat/style/qooxdoo/widgets/managers/QxSelectionManager.js
new file mode 100644
index 0000000000..9432d471cd
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxSelectionManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxSelectionManager(vBoundedWidget){QxTarget.call(this);this._j5=new QxSelectionStorage();if(isValid(vBoundedWidget)){this.setBoundedWidget(vBoundedWidget);};};QxSelectionManager.extend(QxManager,"QxSelectionManager");QxSelectionManager.addProperty({name:"boundedWidget",type:Object});QxSelectionManager.addProperty({name:"multiSelection",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"dragSelection",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"canDeselect",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"fireChange",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"anchorItem",type:Object});QxSelectionManager.addProperty({name:"leadItem",type:Object});QxSelectionManager.addProperty({name:"multiColumnSupport",type:Boolean,defaultValue:false});proto._modifyAnchorItem=function(_b1,_b2,_b3,_b4){if(_b2){this.renderItemAnchorState(_b2,false);};if(_b1){this.renderItemAnchorState(_b1,true);};return true;};proto._modifyLeadItem=function(_b1,_b2,_b3,_b4){if(_b2){this._j10(_b2,false);};if(_b1){this._j10(_b1,true);};return true;};proto.getFirst=function(){var vItem=this.getBoundedWidget().getFirstChild();return this.getItemEnabled(vItem)?vItem:this.getNext(vItem);};proto.getLast=function(){var vItem=this.getBoundedWidget().getLastChild();return this.getItemEnabled(vItem)?vItem:this.getPrevious(vItem);};proto.getItems=function(){return this.getBoundedWidget().getChildren();};proto.getNextSibling=function(vItem){return vItem.getNextSibling();};proto.getPreviousSibling=function(vItem){return vItem.getPreviousSibling();};proto.getNext=function(vItem){while(vItem){vItem=this.getNextSibling(vItem);if(!vItem){break;};if(this.getItemEnabled(vItem)){return vItem;};};return null;};proto.getPrevious=function(vItem){while(vItem){vItem=this.getPreviousSibling(vItem);if(!vItem){break;};if(this.getItemEnabled(vItem)){return vItem;};};return null;};proto.isBefore=function(vItem1,vItem2){var cs=this.getItems();return cs.indexOf(vItem1)<cs.indexOf(vItem2);};proto.isEqual=function(vItem1,vItem2){return vItem1==vItem2;};proto.getItemHashCode=function(vItem){return vItem.toHash();};proto.scrollItemIntoView=function(vItem){vItem.scrollIntoView();};proto.getItemLeft=function(vItem){return vItem.getOffsetLeft();};proto.getItemTop=function(vItem){return vItem.getOffsetTop();};proto.getItemWidth=function(vItem){return vItem.getOffsetWidth();};proto.getItemHeight=function(vItem){return vItem.getOffsetHeight();};proto.getItemEnabled=function(vItem){return vItem.getEnabled();};proto.getItemClassName=function(vItem){return vItem.getCssClassName();};proto.setItemClassName=function(vItem,vClassName){return vItem.setCssClassName(vClassName);};proto.getItemBaseClassName=function(vItem){return vItem.classname;};proto._j3=function(vItem,vState,vIsState){var c=this.getItemClassName(vItem);var n=this.getItemBaseClassName(vItem)+"-"+vState;this.setItemClassName(vItem,vIsState?c.add(n," "):c.remove(n," "));};proto._j9=function(vItem,vIsSelected){this._j3(vItem,"Selected",vIsSelected);};proto.renderItemAnchorState=function(vItem,vIsAnchor){this._j3(vItem,"Anchor",vIsAnchor);};proto._j10=function(vItem,vIsLead){this._j3(vItem,"Lead",vIsLead);};proto.getItemSelected=function(vItem){return this._j5.contains(vItem);};proto.setItemSelected=function(vItem,vSelected){var hc=this.getItemHashCode(vItem);switch(this.getMultiSelection()){case true:if(!this.getItemEnabled(vItem)){return;};if(this.getItemSelected(vItem)==vSelected){return;};this._j9(vItem,vSelected);vSelected?this._j5.add(vItem):this._j5.remove(vItem);this._j1();break;case false:var item0=this.getSelectedItems()[0];if(vSelected){var old=item0;if(this.isEqual(vItem,old)){return;};if(old!=null){this._j9(old,false);};this._j9(vItem,true);this._j5.removeAll();this._j5.add(vItem);this._j1();}else {if(!this.isEqual(item0,vItem)){this._j9(vItem,false);this._j5.removeAll();this._j1();};};break;};};proto.getSelectedItems=function(){return this._j5.toArray();};proto.getSelectedItem=function(){return this._j5.getFirst();};proto.setSelectedItems=function(vItems){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();var vItem;var vItemLength=vItems.length;for(var i=0;i<vItemLength;i++){vItem=vItems[i];if(!this.getItemEnabled(vItem)){continue;};this._j5.add(vItem);this._j9(vItem,true);};this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.setSelectedItem=function(vItem){if(!vItem){return;};if(!this.getItemEnabled(vItem)){return;};var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();this._j5.add(vItem);this._j9(vItem,true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.selectAll=function(){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._selectAll();this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto._selectAll=function(){if(!this.getMultiSelection()){return;};var vItem;var vItems=this.getItems();var vItemsLength=vItems.length;this._j5.removeAll();for(var i=0;i<vItemsLength;i++){vItem=vItems[i];if(!this.getItemEnabled(vItem)){continue;};this._j5.add(vItem);this._j9(vItem,true);};return true;};proto.deselectAll=function(){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal))this._j1();};proto._j7=function(){var items=this._j5.toArray();for(var i=0;i<items.length;i++){this._j9(items[i],false);};this._j5.removeAll();return true;};proto.selectItemRange=function(vItem1,vItem2){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j2(vItem1,vItem2,true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto._j2=function(vItem1,vItem2,vDeselect){if(this.isBefore(vItem2,vItem1)){return this._j2(vItem2,vItem1,vDeselect);};if(vDeselect){this._j7();};var vCurrentItem=vItem1;while(vCurrentItem!=null){if(this.getItemEnabled(vCurrentItem)){this._j5.add(vCurrentItem);this._j9(vCurrentItem,true);};if(this.isEqual(vCurrentItem,vItem2)){break;};vCurrentItem=this.getNext(vCurrentItem);};return true;};proto._j6=function(vItem1,vItem2){if(this.isBefore(vItem2,vItem1)){return this._j6(vItem2,vItem1);};var vCurrentItem=vItem1;while(vCurrentItem!=null){this._j5.remove(vCurrentItem);this._j9(vCurrentItem,false);if(this.isEqual(vCurrentItem,vItem2)){break;};vCurrentItem=this.getNext(vCurrentItem);};};proto._j4=false;proto.handleMouseDown=function(vItem,e){if(e.isNotLeftButton()&&e.isNotRightButton()){return;};if(e.isRightButton()&&this.getItemSelected(vItem)){return;};if(e.getShiftKey()||this.getDragSelection()||(!this.getItemSelected(vItem)&&!e.getCtrlKey())){this._onmouseevent(vItem,e);}else {this.setLeadItem(vItem);};this._j4=this.getDragSelection();if(this._j4){this.getBoundedWidget().addEventListener("mouseup",this._ondragup,this);this.getBoundedWidget().setCapture(true);};};proto._ondragup=function(e){this.getBoundedWidget().removeEventListener("mouseup",this._ondragup,this);this.getBoundedWidget().setCapture(false);this._j4=false;};proto.handleMouseUp=function(vItem,e){if(e.isNotLeftButton()){return;};if(e.getCtrlKey()||this.getItemSelected(vItem)&&!this._j4){this._onmouseevent(vItem,e);};if(this._j4){this._j4=false;this.getBoundedWidget().setCapture(false);};};proto.handleMouseOver=function(oItem,e){if(! this.getDragSelection()||!this._j4){return;};this._onmouseevent(oItem,e,true);};proto.handleClick=function(vItem,e){};proto.handleDblClick=function(vItem,e){};proto._onmouseevent=function(oItem,e,bOver){if(!this.getItemEnabled(oItem)){return;};var oldVal=this._getChangeValue();var oldLead=this.getLeadItem();var oldFireChange=this.getFireChange();this.setFireChange(false);var selectedItems=this.getSelectedItems();var selectedCount=selectedItems.length;this.setLeadItem(oItem);var currentAnchorItem=this.getAnchorItem();var vCtrlKey=e.getCtrlKey();var vShiftKey=e.getShiftKey();if(!currentAnchorItem||selectedCount==0||(vCtrlKey&&!vShiftKey&&this.getMultiSelection()&&!this.getDragSelection())){this.setAnchorItem(oItem);currentAnchorItem=oItem;};if((!vCtrlKey&&!vShiftKey&&!this._j4||!this.getMultiSelection())){if(!this.getItemEnabled(oItem)){return;};this._j7();this.setAnchorItem(oItem);if(this._j4){this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(oItem)-1)?this.getPrevious(oItem):this.getNext(oItem))||oItem);};if(!this.getItemSelected(oItem)){this._j9(oItem,true);};this._j5.add(oItem);this._addToCurrentSelection=true;}else if(this._j4&&bOver){if(oldLead){this._j6(currentAnchorItem,oldLead);};if(this.isBefore(currentAnchorItem,oItem)){if(this._addToCurrentSelection){this._j2(currentAnchorItem,oItem,false);}else {this._j6(currentAnchorItem,oItem);};}else {if(this._addToCurrentSelection){this._j2(oItem,currentAnchorItem,false);}else {this._j6(oItem,currentAnchorItem);};};this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(oItem)-1)?this.getPrevious(oItem):this.getNext(oItem))||oItem);}else if(this.getMultiSelection()&&vCtrlKey&&!vShiftKey){if(!this._j4){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(oItem));};this.setItemSelected(oItem,this._addToCurrentSelection);this.setAnchorItem(oItem);}else if(this.getMultiSelection()&&vCtrlKey&&vShiftKey){if(!this._j4){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(oItem));};if(this._addToCurrentSelection){this._j2(currentAnchorItem,oItem,false);}else {this._j6(currentAnchorItem,oItem);};}else if(this.getMultiSelection()&&!vCtrlKey&&vShiftKey){if(this.getCanDeselect()){this._j2(currentAnchorItem,oItem,true);}else {if(oldLead){this._j6(currentAnchorItem,oldLead);};this._j2(currentAnchorItem,oItem,false);};};this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.handleKeyDown=function(e){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);if(e.getKeyCode()==65&&e.getCtrlKey()){if(this.getMultiSelection()){this._selectAll();this.setLeadItem(this.getFirst());};}else {var aIndex=this.getAnchorItem();var itemToSelect=this.getItemToSelect(e);if(itemToSelect&&this.getItemEnabled(itemToSelect)){this.setLeadItem(itemToSelect);this.scrollItemIntoView(itemToSelect);if(e.getShiftKey()&&this.getMultiSelection()){if(aIndex==null){this.setAnchorItem(itemToSelect);};this._j2(this.getAnchorItem(),itemToSelect,true);}else if(!e.getCtrlKey()){this._j7();this._j9(itemToSelect,true);this._j5.add(itemToSelect);this.setAnchorItem(itemToSelect);};};};e.setPreventDefault(true);e.setPropagationStopped(true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.getItemToSelect=function(oKeyboardEvent){var e=oKeyboardEvent;if(e.getAltKey()){return null;};switch(e.getKeyCode()){case QxKeyEvent.keys.home:return this.getHome(this.getLeadItem());case QxKeyEvent.keys.end:return this.getEnd(this.getLeadItem());case QxKeyEvent.keys.down:return this.getDown(this.getLeadItem());case QxKeyEvent.keys.up:return this.getUp(this.getLeadItem());case QxKeyEvent.keys.left:return this.getLeft(this.getLeadItem());case QxKeyEvent.keys.right:return this.getRight(this.getLeadItem());case QxKeyEvent.keys.pageup:return this.getPageUp(this.getLeadItem());case QxKeyEvent.keys.pagedown:return this.getPageDown(this.getLeadItem());};return null;};proto._j1=function(){if(!this.getFireChange()){return;};this.dispatchEvent(new QxDataEvent("changeSelection",this.getSelectedItems()));};proto._j8=function(sOldValue){return sOldValue!=this._getChangeValue();};proto._getChangeValue=function(){return this._j5.getChangeValue();};proto.getHome=function(){return this.getFirst();};proto.getEnd=function(){return this.getLast();};proto.getDown=function(vItem){if(!vItem){return this.getFirst();};return this.getMultiColumnSupport()?(this.getUnder(vItem)||this.getLast()):this.getNext(vItem);};proto.getUp=function(vItem){if(!vItem){return this.getLast();};return this.getMultiColumnSupport()?(this.getAbove(vItem)||this.getFirst()):this.getPrevious(vItem);};proto.getLeft=function(vItem){if(!this.getMultiColumnSupport()){return null;};return !vItem?this.getLast():this.getPrevious(vItem);};proto.getRight=function(vItem){if(!this.getMultiColumnSupport()){return null;};return !vItem?this.getFirst():this.getNext(vItem);};proto.getAbove=function(vItem){throw new Error("getAbove():Not implemented yet");};proto.getUnder=function(vItem){throw new Error("getUnder():Not implemented yet");};proto.getPageUp=function(vItem){var vBound=this.getBoundedWidget();var vParentScrollTop=vBound.getScrollTop();var newItem;var nextItem=this.getLeadItem();if(!nextItem){nextItem=this.getFirst();};var tryLoops=0;while(tryLoops<2){while(nextItem&&(this.getItemTop(nextItem)-this.getItemHeight(nextItem)>=vParentScrollTop)){newItem=this.getUp(nextItem);if(newItem==null){break;};nextItem=newItem;};if(nextItem==null){tryLoops=2;break;};if(nextItem!=this.getLeadItem()){break;};vBound.setScrollTop(vParentScrollTop-vBound.getClientHeight()-this.getItemHeight(nextItem));vParentScrollTop=vBound.getScrollTop();tryLoops++;};return nextItem;};proto.getPageDown=function(vItem){var vBound=this.getBoundedWidget();var vParentScrollTop=vBound.getScrollTop();var vParentClientHeight=vBound.getClientHeight();var newItem;var nextItem=this.getLeadItem();if(!nextItem){nextItem=this.getFirst();};var tryLoops=0;while(tryLoops<2){while(nextItem&&((this.getItemTop(nextItem)+(2*this.getItemHeight(nextItem)))<=(vParentScrollTop+vParentClientHeight))){newItem=this.getDown(nextItem);if(newItem==null){break;};nextItem=newItem;};if(nextItem==null){tryLoops=2;break;};if(nextItem!=this.getLeadItem()){break;};vBound.setScrollTop(vParentScrollTop+vParentClientHeight-(2*this.getItemHeight(nextItem)));vParentScrollTop=vBound.getScrollTop();tryLoops++;};return nextItem;};proto.dispose=function(){if(this.getDisposed()){return;};if(this._j5){this._j5.dispose();this._j5=null;};return QxTarget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxTimerManager.js b/swat/style/qooxdoo/widgets/managers/QxTimerManager.js
new file mode 100644
index 0000000000..dfd5fe2326
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxTimerManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTimerManager(){if(QxTimerManager._instance){return QxTimerManager._instance;};QxManager.call(this);QxTimerManager._instance=this;};QxTimerManager.extend(QxManager,"QxTimerManager"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxToolTipManager.js b/swat/style/qooxdoo/widgets/managers/QxToolTipManager.js
new file mode 100644
index 0000000000..1515fd337b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxToolTipManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolTipManager(){if(QxToolTipManager._instance)return QxToolTipManager._instance;QxManager.call(this);QxToolTipManager._instance=this;};QxToolTipManager.extend(QxManager,"QxToolTipManager");QxToolTipManager.addProperty({name:"currentToolTip"});proto._modifyCurrentToolTip=function(_b1,_b2,_b3,_b4){if(_b2&&_b2.contains(_b1)){return;};if(_b2){_b2.setVisible(false);_b2._stopShowTimer();_b2._stopHideTimer();};if(_b1){_b1._startShowTimer();};return true;};proto.handleMouseOver=function(e){var to=e.getTarget();var c=to;var tt;if(!(c instanceof QxWidget)&&c.nodeType==1){c=QxEventManager.getTargetObject(c);};while(c!=null&&!(tt=c.getToolTip())){c=c.getParent();};if(tt!=null){tt.setBoundToWidget(c);};this.setCurrentToolTip(tt);};proto.handleMouseOut=function(e){var to=e.getRelatedTarget();var from=e.getTarget();var cur=this.getCurrentToolTip();if(cur&&(to==cur||cur.contains(to))){return;};if(to&&from.contains(to)){return;};if(cur&&!to){this.setCurrentToolTip(null);};};proto.handleFocus=function(e){var c=e.getTarget();var tt=c.getToolTip();if(tt!=null){tt.setBoundToWidget(c);this.setCurrentToolTip(tt);};};proto.handleBlur=function(e){var c=e.getTarget();if(!c){return;};var tt=c.getToolTip();var cur=this.getCurrentToolTip();if(cur&&cur==tt){this.setCurrentToolTip(null);};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/managers/QxWindowManager.js b/swat/style/qooxdoo/widgets/managers/QxWindowManager.js
new file mode 100644
index 0000000000..c7a0f3bf88
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/managers/QxWindowManager.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxWindowManager(){if(QxWindowManager._instance){return QxWindowManager._instance;};QxManager.call(this);QxWindowManager._instance=this;};QxWindowManager.extend(QxManager,"QxWindowManager");QxWindowManager.addProperty({name:"activeWindow",type:Object});proto.update=function(oTarget){var m;for(var vHash in this._objects){m=this._objects[vHash];if(!m.getAutoHide()){continue;};m.setVisible(false);};};proto._modifyActiveWindow=function(_b1,_b2,_b3,_b4){(new QxPopupManager).update();if(_b1){_b1.setActive(true,_b4);};if(_b2){_b2.setActive(false,_b4);};this.sort();if(_b2&&_b2.getModal()){_b2.getTopLevelWidget().release(_b2);};if(_b1&&_b1.getModal()){_b1.getTopLevelWidget().block(_b1);};return true;};proto.compareWindows=function(w1,w2){switch((new QxWindowManager).getActiveWindow()){case w1:return 1;case w2:return-1;};return w1.getZIndex()-w2.getZIndex();};proto.sort=function(oObject){var a=[];for(var i in this._objects){a.push(this._objects[i]);};a.sort(this.compareWindows);var minz=QxWindow.prototype._minZindex;for(var l=a.length,i=0;i<l;i++){a[i].setZIndex(minz+i);};};proto.add=function(oObject){QxManager.prototype.add.call(this,oObject);this.setActiveWindow(oObject);};proto.remove=function(oObject){QxManager.prototype.remove.call(this,oObject);if(this.getActiveWindow()==oObject){var a=[];for(var i in this._objects){a.push(this._objects[i]);};var l=a.length;if(l==0){oObject.getTopLevelWidget().release(oObject);}else if(l==1){this.setActiveWindow(a[0]);}else if(l>1){a.sort(this.compareWindows);this.setActiveWindow(a[l-1]);};};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/qooxdoo.js b/swat/style/qooxdoo/widgets/qooxdoo.js
new file mode 100644
index 0000000000..4aee0ad2e5
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/qooxdoo.js
@@ -0,0 +1 @@
+function isHashEmpty(h){for(var s in h){return false;};return true;};function copyCreateHash(h){if(h){var n={};for(var k in h){n[k]=h[k];};return n;}else {return{};};};function copyCreateArray(a){return a&&a.length>0?a.copy():[];};function set(){var r={};for(var i=0,a=arguments,l=a.length;i<l;i++){r[a[i]]=true;};return r;};function isValid(v){switch(typeof v){case "undefined":return false;case "object":return v!=null;case "string":return v!="";case "number":return !isNaN(v);case "function":case "boolean":return true;};return false;};function isInvalid(v){switch(typeof v){case "undefined":return true;case "object":return v==null;case "string":return v=="";case "number":return isNaN(v);case "function":case "boolean":return false;};return true;};function isValidNumber(v){return typeof v=="number"&&!isNaN(v);};function isInvalidNumber(v){return typeof v!="number"||isNaN(v);};function isValidString(v){return typeof v=="string"&&v!="";};function isInvalidString(v){return typeof v!="string"||v=="";};function isValidArray(v){return typeof v=="object"&&v!=null&&typeof v.push=="function";};function isInvalidArray(v){return typeof v!="object"||v==null||typeof v.push!="function";};function isValidObject(v){return typeof v=="object"&&v!=null&&typeof v.push!="function";};function isInvalidObject(v){return typeof v!="object"||v==null||typeof v.push=="function";};function isValidFunction(v){return typeof v=="function";};function isInvalidFunction(v){return typeof v=="function";};Number.prototype.limit=function(vmin,vmax){if(vmax!=null&&typeof vmax=="number"&&this>vmax){return vmax;}else if(vmin!=null&&typeof vmin=="number"&&this<vmin){return vmin;}else {return Number(this);};};Number.prototype.inrange=function(vmin,vmax){return this>vmin&&this<vmax;};Array.prototype.indexOf=function(o){for(var i=0;i<this.length;i++){if(this[i]==o){return i;};};return-1;};Array.prototype.lastIndexOf=function(o){for(var i=this.length-1;i>=0;i--){if(this[i]==o){return i;};};return-1;};Array.prototype.contains=function(o){return this.indexOf(o)!=-1;};Array.prototype.remove=function(o){var i=this.indexOf(o);if(i!=-1){this.splice(i,1);};};Array.prototype.insertAt=function(o,i){this.splice(i,0,o);};Array.prototype.insertBefore=function(o,o2){var i=this.indexOf(o2);if(i==-1){this.push(o);}else{this.splice(i,0,o);};};Array.prototype.insertAfter=function(o,o2){var i=this.indexOf(o2);if(i==-1||i==(this.length-1)){this.push(o);}else{this.splice(i+1,0,o);};};Array.prototype.removeAt=function(i){this.splice(i,1);};Array.prototype.remove=function(o){var i=this.indexOf(o);if(i!=-1){this.splice(i,1);};};Array.prototype.copy=function(){return this.concat();};Array.prototype.getLast=function(){return this[this.length-1];};Array.prototype.getFirst=function(){return this[0];};String.prototype.contains=function(s){return this.indexOf(s)!=-1;};String.prototype.toFirstUp=function(){return this.charAt(0).toUpperCase()+this.substr(1);};String.prototype.toCamelCase=function(){var vArr=this.split('-');if(vArr.length==1){return vArr[0];};var ret=vArr[0];var s;for(var i=1,len=vArr.length;i<len;i++,s=vArr[i]){ret+=s.charAt(0).toUpperCase()+s.substring(1);};return ret;};String.prototype.trimLeft = new Function("return this.replace(/^\\s+/,'')");String.prototype.trimRight = new Function("return this.replace(/\\s+$/,'')");String.prototype.trim = new Function("return this.replace(/^\\s+|\\s+$/g,'')");String.prototype.add=function(v,sep){if(this==v){return this;}else if(this==""){return v;}else {if(isInvalid(sep)){sep=",";};var a=this.split(sep);if(a.indexOf(v)==-1){a.push(v);return a.join(sep);}else {return this;};};};String.prototype.remove=function(v,sep){if(this==v||this==""){return "";}else {if(isInvalid(sep)){sep=",";};var a=this.split(sep);var p=a.indexOf(v);if(p==-1){return this;};do{a.splice(p,1);}while((p=a.indexOf(v))!=-1);return a.join(sep);};};if(!Function.prototype.apply){Function.prototype.apply=function(oScope,args){var sarg=[];var rtrn,call;if(!oScope){oScope=window;};if(!args){args=[];};for(var i=0;i<args.length;i++){sarg[i]="args["+i+"]";};call="oScope._applyTemp_("+sarg.join(",")+");";oScope._applyTemp_=this;rtrn=eval(call);delete oScope._applyTemp_;return rtrn;};};Function.prototype.extend=function(sFunction,tClassName){if(typeof sFunction!="function"){throw new Error("Extend:Function/Constructor to extend from is not a function:"+sFunction);};if(typeof tClassName!="string"){throw new Error("Extend:Missing or malformed className:"+tClassName);};proto=this.prototype=new sFunction;proto.superclass=sFunction;proto.classname=tClassName;proto.constructor=this;return proto;};if(navigator.product=="Gecko"){Document.prototype.elementFromPoint=function(x,y){this.addEventListener("mousemove",this.elementFromPointHandler,false);var event=this.createEvent("MouseEvents");var box=this.getBoxObjectFor(this.documentElement);event.initMouseEvent("mousemove",true,false,this.defaultView,0,x+box.screenX,y+box.screenY,x,y,false,false,false,false,0,null);this.dispatchEvent(event);this.removeEventListener("mousemove",this.elementFromPointHandler,false);return this.elementFromPointTarget;};Document.prototype.elementFromPointHandler=function(event){this.elementFromPointTarget=event.explicitOriginalTarget;if(this.elementFromPointTarget.nodeType==Node.TEXT_NODE){this.elementFromPointTarget=this.elementFromPointTarget.parentNode;};if(this.elementFromPointTarget.nodeName.toUpperCase()=="HTML"&&this.documentElement.nodeName.toUpperCase()=="HTML"){this.elementFromPointTarget=this.getElementsByTagName("BODY").item(0);};event.preventDefault();event.stopPropagation();};Document.prototype.elementFromPointTarget=null;};Error.prototype.toString=function(){return this.message;};Function.prototype.removeProperty=function(p){if(typeof this.prototype._i1!="string"){throw new Error("Has no properties!");};if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};p.method=p.name.toFirstUp();p.implMethod=p.impl?p.impl.toFirstUp():p.method;var valueKey="_value"+p.method;this.prototype._i1=this.prototype._i1.remove(p.name);this.prototype[valueKey]=null;this.prototype["get"+p.method]=function(){return null;};this.prototype["force"+p.method]=this.prototype["set"+p.method]=function(){throw new Error("Property "+p.name+" is not supported by class+"+this.classname);};if(this.prototype["_modify"+p.method]){this.prototype["_modify"+p.method]=null;};if(this.prototype["_eval"+p.method]){this.prototype["_eval"+p.method]=null;};};Function.prototype.addProperty=function(p){if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};p.method=p.name.toFirstUp();p.implMethod=p.impl?p.impl.toFirstUp():p.method;if(isInvalid(p.defaultValue)){p.defaultValue=null;};var valueKey="_value"+p.method;var nullKey="_null"+p.method;var evalKey="_eval"+p.method;var changeKey="change"+p.method;var modifyKey="_modify"+p.implMethod;var checkKey="_check"+p.implMethod;this.prototype[valueKey]=p.defaultValue;if(typeof this.prototype._i1!="string"){this.prototype._i1=p.name;}else{this.prototype._i1+=","+p.name;};if(typeof p.groups=="object"){var g=p.groups;var l=g.length;var tempGroups;var tempGroupName;var tempGroupNameUp;var tempMemberRef;for(var i=0;i<l;i++){tempGroupName=g[i];tempMemberRef="_propertygroup_"+tempGroupName+"_members";if(typeof this.prototype._h9!="string"){this.prototype._h9=tempGroupName;}else {tempGroups=this.prototype._h9.split(",");if(tempGroups.contains(tempGroupName)){this.prototype[tempMemberRef]+=","+p.name;}else {tempGroups.push(tempGroupName);this.prototype._h9=tempGroups.join(",");};};if(typeof this.prototype[tempMemberRef]=="undefined"){this.prototype[tempMemberRef]=p.name;tempGroupNameUp=tempGroupName.toFirstUp();this.prototype["get"+tempGroupNameUp]=new Function("var memberList=this."+tempMemberRef+".split(',');"+"var memberLength=memberList.length;"+"var memberValues=[];"+"try{"+"for(var i=0;i<memberLength;i++){"+"memberValues.push(this['get'+memberList[i].toFirstUp()]());"+"};"+"}catch(ex){"+"throw new Error('Failed to get values from property group "+tempGroupName+":'+ex);"+"};"+"return memberValues;" );this.prototype["set"+tempGroupNameUp]=new Function("var memberList=this."+tempMemberRef+".split(',');"+"var memberLength=memberList.length;"+"try{"+"for(var i=0;i<memberLength;i++){"+"this['set'+memberList[i].toFirstUp()](arguments[i]);"+"};"+"}catch(ex){"+"throw new Error('Failed to setup property group "+tempGroupName+":'+ex);"+"};"+"return true" );};};};this.prototype["get"+p.method]=function(){if(typeof this[valueKey]=="undefined"||(this[valueKey]==null&&this[nullKey]!=true)){if(typeof this[evalKey]=="function"){var v1=this[evalKey]();if(isValid(v1)){return this[valueKey]=v1;};};return null;}else {return this[valueKey];};};this.prototype["getDefault"+p.method]=function(_b4){return p.defaultValue;};this.prototype["setDefault"+p.method]=function(newValue,_b4){return p.defaultValue=newValue;};this.prototype["force"+p.method]=function(newValue){this[valueKey]=newValue;this[nullKey]=newValue==null;return true;};this.prototype["reset"+p.method]=function(_b4){return this["set"+p.method](p.defaultValue,_b4);};this.prototype["set"+p.method]=function(newValue,_b4){var thisModId=this.toHash()+"_"+p.name;if(isInvalidArray(_b4)){var _b4=[thisModId];}else if(_b4.contains(thisModId)){return newValue;}else {_b4.push(thisModId);};var fixedValue=newValue==null?null:isValid(p.type)?p.type(newValue):newValue;var oldValue=this[valueKey];if(typeof this[checkKey]=="function"){try{fixedValue=this[checkKey](fixedValue,oldValue,p.name,_b4);}catch(ex){this.debug("Failed to check property "+p.name+":"+ex);return false;};};if(fixedValue!=oldValue){this[valueKey]=fixedValue;this[nullKey]=fixedValue==null;if(typeof this[modifyKey]=="function"){try{var r=this[modifyKey](fixedValue,oldValue,p.name,_b4);if(!r){throw new Error("Failed without exception:"+p.name+"["+p.implMethod+"|"+r+"]");};}catch(ex){this.debug("Failed to modify property "+p.name+":"+ex.message);return false;};};if(this instanceof QxTarget){if(this.hasEventListeners(changeKey)){var ce=new QxDataEvent(changeKey,fixedValue,oldValue,false);ce.setTarget(this);try{this.dispatchEvent(ce,true);}catch(ex){throw new Error("Failed to dispatch changed event:"+ex);};ce=null;};};};return fixedValue;};if(typeof p.getAlias=="string"){this.prototype[p.getAlias]=this.prototype["get"+p.method];};if(typeof p.setAlias=="string"){this.prototype[p.setAlias]=this.prototype["set"+p.method];};};function QxObject(autoDispose){this._pos=QxObject._i2++;this._hash="h"+String(Math.round(Math.random()*1e6));this._k1={};if(typeof autoDispose!="boolean"||autoDispose){QxObject._i3.push(this);};};QxObject.extend(Object,"QxObject");QxObject._i2=0;QxObject._siteCounter=0;QxObject._i3=[];QxObject.toHash=function(o){if(o._hash!=null){return o._hash;};return o._hash="h"+String(Math.round(Math.random()*1e6));};QxObject.dispose=function(){for(var i=QxObject._i3.length-1;i>=0;i--){if(typeof QxObject._i3[i]!="undefined"){QxObject._i3[i].dispose();if(typeof QxObject._i3=="undefined"){break;};delete QxObject._i3[i];};};delete QxObject._i3;};QxObject.addProperty({name:"enabled",type:Boolean,defaultValue:true,getAlias:"isEnabled"});proto.debug=function(m){QxDebug(this.classname+"["+this._pos+"]",m);};proto.subug=function(m){QxDebug(this.classname+"["+this._pos+"]","::"+m);};proto.toString=function(){if(this.classname){return "[object "+this.classname+"]";};return "[object Object]";};proto.toHash=function(){return this._hash;};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){return true;};proto._disposed=false;proto.dispose=function(){if(this._disposed){return;};for(var p in this._k1){delete this._k1[p];};delete this._k1;this._disposed=true;delete QxObject._i3[this._pos];};proto.getDisposed=function(){return this._disposed;};proto.isDisposed=function(){return this._disposed;};proto.set=function(propertyValues){if(typeof propertyValues!="object"){throw new Error("Please use a valid hash of property key-values pairs.");};for(var prop in propertyValues){try{this["set"+prop.toFirstUp()](propertyValues[prop]);}catch(ex){throw new Error("Setter of property "+prop+" returned with an error:"+ex);};};return this;};proto.get=function(propertyNames,outputHint){switch(typeof propertyNames){case "string":return this["get"+propertyNames.toFirstUp()]();case "object":if(typeof propertyNames.length=="number"){if(outputHint=="hash"){var h={};propertyLength=propertyNames.length;for(var i=0;i<propertyLength;i++){try{h[propertyNames[i]]=this["get"+propertyNames[i].toFirstUp()]();}catch(ex){throw new Error("Could not get a valid value from property:"+propertyNames[i]+"! Is the property existing?("+ex+")");};};return h;}else {propertyLength=propertyNames.length;for(var i=0;i<propertyLength;i++){try{propertyNames[i]=this["get"+propertyNames[i].toFirstUp()]();}catch(ex){throw new Error("Could not get a valid value from property:"+propertyNames[i]+"! Is the property existing?("+ex+")");};};return propertyNames;};}else {for(var i in propertyNames){propertyNames[i]=this["get"+i.toFirstUp()]();};return propertyNames;};default:throw new Error("Please use a valid array,hash or string as parameter!");};};proto.addData=function(p){if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};var valueKey=p.name;var methodKey=p.method=valueKey.toFirstUp();var changeKey="change"+methodKey;this["retrieve"+methodKey]=function(){return this._k1[valueKey];};if(typeof p.defaultValue!="undefined"){this._k1[valueKey]=p.defaultValue;this["retrieveDefault"+methodKey]=function(){return p.defaultValue;};this["storeDefault"+methodKey]=function(newValue){return p.defaultValue=newValue;};this["restore"+methodKey]=function(){return this["store"+methodKey](p.defaultValue);};};this["store"+methodKey]=function(newValue){var fixedValue=isValid(p.type)?p.type(newValue):newValue;var oldValue=this._k1[valueKey];if(fixedValue!=oldValue){this._k1[valueKey]=fixedValue;if(this instanceof QxTarget&&this.hasEventListeners(changeKey)){var ce=new QxDataEvent(changeKey,fixedValue,oldValue,false);ce.setTarget(this);try{this.dispatchEvent(ce,true);}catch(ex){throw new Error("Failed to dispatch change event:"+ex);};ce=null;};};return fixedValue;};};proto.removeData=function(p){if(typeof p!="object"){throw new Error("Param should be an object!");};if(isInvalid(p.name)){throw new Error("Malformed input parameters:name needed!");};var methodKey=p.method;delete this._k1[p.name];delete this["retrieve"+methodKey];delete this["store"+methodKey];delete this["retrieveDefault"+methodKey];delete this["storeDefault"+methodKey];delete this["restore"+methodKey];};function QxClient(){if(QxClient._instance){return QxClient._instance;};var n=navigator;var u=n.userAgent;var v=n.vendor;var p=n.product;var r=null;if(window.opera){r="opera";}else if(typeof v=="string"&&v=="KDE"){r="khtml";}else if(typeof p=="string"&&p=="Gecko"){r="gecko";}else if (/msie/i.test(u)){r="mshtml";};this.engine=r;this.mshtml=r=="mshtml";this.gecko=r=="gecko";this.opera=r=="opera";this.khtml=r=="khtml";n=u=v=p=r=null;QxClient._instance=this;};QxClient.extend(Object,"QxClient");proto.getEngine=function(){return this.engine;};proto.isMshtml=function(){return this.engine=="mshtml";};proto.isGecko=function(){return this.engine=="gecko";};proto.isOpera=function(){return this.engine=="opera";};proto.isKhtml=function(){return this.engine=="khtml";};proto.isNotMshtml=function(){return !this.isMshtml();};proto.isNotGecko=function(){return !this.isGecko();};proto.isNotOpera=function(){return !this.isMshtml();};proto.isNotKhtml=function(){return !this.isKhtml();};window.client=new QxClient;var QxDOM=new Object;if(Boolean(document.defaultView)&&Boolean(document.defaultView.getComputedStyle)){QxDOM.getComputedStyleProperty=function(el,prop){return !el?null:el.ownerDocument?el.ownerDocument.defaultView.getComputedStyle(el,"")[prop]:el.style[prop];};}else if((new QxClient).isMshtml()){QxDOM.getComputedStyleProperty=function(el,prop){if(!el){return null;};if(el.parentNode){return el.currentStyle[prop];}else {var v1=el.runtimeStyle[prop];if(v1!=null&&typeof v1!="undefined"){return v1;};return el.style[prop];};};}else {QxDOM.getComputedStyleProperty=function(el,prop){return !el?null:el.style[prop];};};QxDOM.getComputedStyleSize=function(el,prop){return parseInt(QxDOM.getComputedStyleProperty(el,prop))||0;};QxDOM.getComputedMarginLeft=function(el){return QxDOM.getComputedStyleSize(el,"marginLeft");};QxDOM.getComputedMarginTop=function(el){return QxDOM.getComputedStyleSize(el,"marginTop");};QxDOM.getComputedMarginRight=function(el){return QxDOM.getComputedStyleSize(el,"marginRight");};QxDOM.getComputedMarginBottom=function(el){return QxDOM.getComputedStyleSize(el,"marginBottom");};QxDOM.getComputedPaddingLeft=function(el){return QxDOM.getComputedStyleSize(el,"paddingLeft");};QxDOM.getComputedPaddingTop=function(el){return QxDOM.getComputedStyleSize(el,"paddingTop");};QxDOM.getComputedPaddingRight=function(el){return QxDOM.getComputedStyleSize(el,"paddingRight");};QxDOM.getComputedPaddingBottom=function(el){return QxDOM.getComputedStyleSize(el,"paddingBottom");};QxDOM.getComputedBorderLeft=function(el){return QxDOM.getComputedStyleProperty(el,"borderLeftStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderLeftWidth");};QxDOM.getComputedBorderTop=function(el){return QxDOM.getComputedStyleProperty(el,"borderTopStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderTopWidth");};QxDOM.getComputedBorderRight=function(el){return QxDOM.getComputedStyleProperty(el,"borderRightStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderRightWidth");};QxDOM.getComputedBorderBottom=function(el){return QxDOM.getComputedStyleProperty(el,"borderBottomStyle")=="none"?0:QxDOM.getComputedStyleSize(el,"borderBottomWidth");};QxDOM.getComputedOuterWidth=function(el){return QxDOM.getComputedBoxWidth(el)+QxDOM.getComputedMarginLeft(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedOuterHeight=function(el){return QxDOM.getComputedBoxHeight(el)+QxDOM.getComputedMarginTop(el)+QxDOM.getComputedMarginBottom(el);};QxDOM.getComputedBoxWidth=function(el){var h=el.offsetHeight;if(h==0){var o=el.style.height;el.style.height="1px";};var v=el.offsetWidth;if(h==0){el.style.height=o;};return v;};QxDOM.getComputedBoxHeight=function(el){var w=el.offsetWidth;if(w==0){var o=el.style.width;el.style.width="1px";};var v=el.offsetHeight;if(w==0){el.style.width=o;};return v;};if((new QxClient).isGecko()){QxDOM.getComputedAreaWidth=function(el){if(el.clientWidth!=0&&el.clientWidth!=(QxDOM.getComputedBorderLeft(el)+QxDOM.getComputedBorderRight(el))){return el.clientWidth;}else {return QxDOM.getComputedBoxWidth(el)-QxDOM.getComputedInsetLeft(el)-QxDOM.getComputedInsetRight(el);};};QxDOM.getComputedAreaHeight=function(el){if(el.clientHeight!=0&&el.clientHeight!=(QxDOM.getComputedBorderTop(el)+QxDOM.getComputedBorderBottom(el))){return el.clientHeight;}else {return QxDOM.getComputedBoxHeight(el)-QxDOM.getComputedInsetTop(el)-QxDOM.getComputedInsetBottom(el)};};}else {QxDOM.getComputedAreaWidth=function(el){return el.clientWidth!=0?el.clientWidth:(QxDOM.getComputedBoxWidth(el)-QxDOM.getComputedInsetLeft(el)-QxDOM.getComputedInsetRight(el));};QxDOM.getComputedAreaHeight=function(el){return el.clientHeight!=0?el.clientHeight:(QxDOM.getComputedBoxHeight(el)-QxDOM.getComputedInsetTop(el)-QxDOM.getComputedInsetBottom(el));};};QxDOM.getComputedInnerWidth=function(el){return QxDOM.getComputedAreaWidth(el)-QxDOM.getComputedPaddingLeft(el)-QxDOM.getComputedPaddingRight(el);};QxDOM.getComputedInnerHeight=function(el){return QxDOM.getComputedAreaHeight(el)-QxDOM.getComputedPaddingTop(el)-QxDOM.getComputedPaddingBottom(el);};if((new QxClient).isMshtml()){QxDOM.getComputedInsetLeft=function(el){return el.clientLeft;};QxDOM.getComputedInsetTop=function(el){return el.clientTop;};QxDOM.getComputedInsetRight=function(el){if(QxDOM.getComputedStyleProperty(el,"overflowY")=="hidden"||el.clientWidth==0){return QxDOM.getComputedBorderRight(el);};return Math.max(0,el.offsetWidth-el.clientLeft-el.clientWidth);};QxDOM.getComputedInsetBottom=function(el){if(QxDOM.getComputedStyleProperty(el,"overflowX")=="hidden"||el.clientHeight==0){return QxDOM.getComputedBorderBottom(el);};return Math.max(0,el.offsetHeight-el.clientTop-el.clientHeight);};}else {QxDOM.getComputedInsetLeft=function(el){return QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedInsetTop=function(el){return QxDOM.getComputedBorderTop(el);};QxDOM.getComputedInsetRight=function(el){if(el.clientWidth==0){var ov=QxDOM.getComputedStyleProperty(el,"overflow");var sbv=ov=="scroll"||ov=="-moz-scrollbars-vertical"?16:0;return Math.max(0,QxDOM.getComputedBorderRight(el)+sbv);};return Math.max(0,el.offsetWidth-el.clientWidth-QxDOM.getComputedBorderLeft(el));};QxDOM.getComputedInsetBottom=function(el){if(el.clientHeight==0){var ov=QxDOM.getComputedStyleProperty(el,"overflow");var sbv=ov=="scroll"||ov=="-moz-scrollbars-horizontal"?16:0;return Math.max(0,QxDOM.getComputedBorderBottom(el)+sbv);};return Math.max(0,el.offsetHeight-el.clientHeight-QxDOM.getComputedBorderTop(el));};};QxDOM.getComputedScrollBarSizeLeft=function(el){return 0;};QxDOM.getComputedScrollBarSizeTop=function(el){return 0;};QxDOM.getComputedScrollBarSizeRight=function(el){return QxDOM.getComputedInsetRight(el)-QxDOM.getComputedBorderRight(el);};QxDOM.getComputedScrollBarSizeBottom=function(el){return QxDOM.getComputedInsetBottom(el)-QxDOM.getComputedBorderBottom(el);};QxDOM.getComputedScrollBarVisibleX=function(el){return QxDOM.getComputedScrollBarSizeRight(el)>0;};QxDOM.getComputedScrollBarVisibleY=function(el){return QxDOM.getComputedScrollBarSizeBottom(el)>0;};QxDOM.getScrollLeftSum=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollLeft;p=p.parentNode;};return sum;};QxDOM.getScrollTopSum=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollTop;p=p.parentNode;};return sum;};QxDOM.getComputedPageOuterLeft=function(el){return QxDOM.getComputedPageBoxLeft(el)-QxDOM.getComputedMarginLeft(el);};QxDOM.getComputedPageOuterTop=function(el){return QxDOM.getComputedPageBoxTop(el)-QxDOM.getComputedMarginTop(el);};QxDOM.getComputedPageOuterRight=function(el){return QxDOM.getComputedPageBoxRight(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedPageOuterBottom=function(el){return QxDOM.getComputedPageBoxBottom(el)+QxDOM.getComputedMarginBottom(el);};QxDOM.getComputedClientOuterLeft=function(el){return QxDOM.getComputedClientBoxLeft(el)-QxDOM.getComputedMarginLeft(el);};QxDOM.getComputedClientOuterTop=function(el){return QxDOM.getComputedClientBoxTop(el)-QxDOM.getComputedMarginTop(el);};QxDOM.getComputedClientOuterRight=function(el){return QxDOM.getComputedClientBoxRight(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedClientOuterBottom=function(el){return QxDOM.getComputedClientBoxBottom(el)+QxDOM.getComputedMarginBottom(el);};if((new QxClient).isMshtml()){QxDOM.getComputedClientBoxLeft=function(el){return el.getBoundingClientRect().left;};QxDOM.getComputedClientBoxTop=function(el){return el.getBoundingClientRect().top;};QxDOM.getComputedPageBoxLeft=function(el){return QxDOM.getComputedClientBoxLeft(el)+QxDOM.getScrollLeftSum(el);};QxDOM.getComputedPageBoxTop=function(el){return QxDOM.getComputedClientBoxTop(el)+QxDOM.getScrollTopSum(el);};}else if((new QxClient).isGecko()){QxDOM.getComputedClientBoxLeft=function(el){return QxDOM.getComputedClientAreaLeft(el)-QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedClientBoxTop=function(el){return QxDOM.getComputedClientAreaTop(el)-QxDOM.getComputedBorderTop(el);};QxDOM.getComputedPageBoxLeft=function(el){return QxDOM.getComputedPageAreaLeft(el)-QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedPageBoxTop=function(el){return QxDOM.getComputedPageAreaTop(el)-QxDOM.getComputedBorderTop(el);};}else {QxDOM.getComputedPageBoxLeft=function(el){var sum=el.offsetLeft;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetLeft;};return sum;};QxDOM.getComputedPageBoxTop=function(el){var sum=el.offsetTop;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetTop;};return sum;};QxDOM.getComputedClientBoxLeft=function(el){var sum=el.offsetLeft;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetLeft-el.scrollLeft;};return sum;};QxDOM.getComputedClientBoxTop=function(el){var sum=el.offsetTop;while(el.tagName!="BODY"){el=el.offsetParent;sum+=el.offsetTop-el.scrollTop;};return sum;};};if((new QxClient).isMshtml()){QxDOM.getComputedClientBoxRight=function(el){return el.getBoundingClientRect().right;};QxDOM.getComputedClientBoxBottom=function(el){return el.getBoundingClientRect().bottom;};QxDOM.getComputedPageBoxRight=function(el){return QxDOM.getComputedClientBoxRight(el)+QxDOM.getScrollLeftSum(el);};QxDOM.getComputedPageBoxBottom=function(el){return QxDOM.getComputedClientBoxBottom(el)+QxDOM.getScrollTopSum(el);};}else {QxDOM.getComputedClientBoxRight=function(el){return QxDOM.getComputedClientBoxLeft(el)+QxDOM.getComputedBoxWidth(el);};QxDOM.getComputedClientBoxBottom=function(el){return QxDOM.getComputedClientBoxTop(el)+QxDOM.getComputedBoxHeight(el);};QxDOM.getComputedPageBoxRight=function(el){return QxDOM.getComputedPageBoxLeft(el)+QxDOM.getComputedBoxWidth(el);};QxDOM.getComputedPageBoxBottom=function(el){return QxDOM.getComputedPageBoxTop(el)+QxDOM.getComputedBoxHeight(el);};};if((new QxClient).isGecko()){QxDOM.getComputedPageAreaLeft=function(el){return el.ownerDocument.getBoxObjectFor(el).x;};QxDOM.getComputedPageAreaTop=function(el){return el.ownerDocument.getBoxObjectFor(el).y;};QxDOM.getComputedClientAreaLeft=function(el){return QxDOM.getComputedPageAreaLeft(el)-QxDOM.getScrollLeftSum(el);};QxDOM.getComputedClientAreaTop=function(el){return QxDOM.getComputedPageAreaTop(el)-QxDOM.getScrollTopSum(el);};}else {QxDOM.getComputedClientAreaLeft=function(el){return QxDOM.getComputedClientBoxLeft(el)+QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedClientAreaTop=function(el){return QxDOM.getComputedClientBoxTop(el)+QxDOM.getComputedBorderTop(el);};QxDOM.getComputedPageAreaLeft=function(el){return QxDOM.getComputedPageBoxLeft(el)+QxDOM.getComputedBorderLeft(el);};QxDOM.getComputedPageAreaTop=function(el){return QxDOM.getComputedPageBoxTop(el)+QxDOM.getComputedBorderTop(el);};};QxDOM.getComputedClientAreaRight=function(el){return QxDOM.getComputedClientAreaLeft(el)+QxDOM.getComputedAreaWidth(el);};QxDOM.getComputedClientAreaBottom=function(el){return QxDOM.getComputedClientAreaTop(el)+QxDOM.getComputedAreaHeight(el);};QxDOM.getComputedPageAreaRight=function(el){return QxDOM.getComputedPageAreaLeft(el)+QxDOM.getComputedAreaWidth(el);};QxDOM.getComputedPageAreaBottom=function(el){return QxDOM.getComputedPageAreaTop(el)+QxDOM.getComputedAreaHeight(el);};QxDOM.getComputedClientInnerLeft=function(el){return QxDOM.getComputedClientAreaLeft(el)+QxDOM.getComputedPaddingLeft(el);};QxDOM.getComputedClientInnerTop=function(el){return QxDOM.getComputedClientAreaTop(el)+QxDOM.getComputedPaddingTop(el);};QxDOM.getComputedClientInnerRight=function(el){return QxDOM.getComputedClientInnerLeft(el)+QxDOM.getComputedInnerWidth(el);};QxDOM.getComputedClientInnerBottom=function(el){return QxDOM.getComputedClientInnerTop(el)+QxDOM.getComputedInnerHeight(el);};QxDOM.getComputedPageInnerLeft=function(el){return QxDOM.getComputedPageAreaLeft(el)+QxDOM.getComputedPaddingLeft(el);};QxDOM.getComputedPageInnerTop=function(el){return QxDOM.getComputedPageAreaTop(el)+QxDOM.getComputedPaddingTop(el);};QxDOM.getComputedPageInnerRight=function(el){return QxDOM.getComputedPageInnerLeft(el)+QxDOM.getComputedInnerWidth(el);};QxDOM.getComputedPageInnerBottom=function(el){return QxDOM.getComputedPageInnerTop(el)+QxDOM.getComputedInnerHeight(el);};if((new QxClient).isGecko()){QxDOM.getComputedScreenBoxLeft=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollLeft;p=p.parentNode;};return el.ownerDocument.getBoxObjectFor(el).screenX-sum;};QxDOM.getComputedScreenBoxTop=function(el){var sum=0;var p=el.parentNode;while(p.nodeType==1){sum+=p.scrollTop;p=p.parentNode;};return el.ownerDocument.getBoxObjectFor(el).screenY-sum;};}else {QxDOM.getComputedScreenBoxLeft=function(el){return QxDOM.getComputedScreenDocumentLeft(el)+QxDOM.getComputedPageBoxLeft(el);};QxDOM.getComputedScreenBoxTop=function(el){return QxDOM.getComputedScreenDocumentTop(el)+QxDOM.getComputedPageBoxTop(el);};};QxDOM.getComputedScreenBoxRight=function(el){return QxDOM.getComputedScreenBoxLeft(el)+QxDOM.getComputedBoxWidth(el);};QxDOM.getComputedScreenBoxBottom=function(el){return QxDOM.getComputedScreenBoxTop(el)+QxDOM.getComputedBoxHeight(el);};QxDOM.getComputedScreenOuterLeft=function(el){return QxDOM.getComputedScreenBoxLeft(el)-QxDOM.getComputedMarginLeft(el);};QxDOM.getComputedScreenOuterTop=function(el){return QxDOM.getComputedScreenBoxTop(el)-QxDOM.getComputedMarginTop(el);};QxDOM.getComputedScreenOuterRight=function(el){return QxDOM.getComputedScreenBoxRight(el)+QxDOM.getComputedMarginRight(el);};QxDOM.getComputedScreenOuterBottom=function(el){return QxDOM.getComputedScreenBoxBottom(el)+QxDOM.getComputedMarginBottom(el);};QxDOM.getComputedScreenAreaLeft=function(el){return QxDOM.getComputedScreenBoxLeft(el)+QxDOM.getComputedInsetLeft(el);};QxDOM.getComputedScreenAreaTop=function(el){return QxDOM.getComputedScreenBoxTop(el)+QxDOM.getComputedInsetTop(el);};QxDOM.getComputedScreenAreaRight=function(el){return QxDOM.getComputedScreenBoxRight(el)-QxDOM.getComputedInsetRight(el);};QxDOM.getComputedScreenAreaBottom=function(el){return QxDOM.getComputedScreenBoxBottom(el)-QxDOM.getComputedInsetBottom(el);};QxDOM.getComputedScreenInnerLeft=function(el){return QxDOM.getComputedScreenAreaLeft(el)+QxDOM.getComputedPaddingLeft(el);};QxDOM.getComputedScreenInnerTop=function(el){return QxDOM.getComputedScreenAreaTop(el)+QxDOM.getComputedPaddingTop(el);};QxDOM.getComputedScreenInnerRight=function(el){return QxDOM.getComputedScreenAreaRight(el)-QxDOM.getComputedPaddingRight(el);};QxDOM.getComputedScreenInnerBottom=function(el){return QxDOM.getComputedScreenAreaBottom(el)-QxDOM.getComputedPaddingBottom(el);};if((new QxClient).isGecko()){QxDOM.getComputedScreenDocumentLeft=function(el){return QxDOM.getComputedScreenOuterLeft(el.ownerDocument.body);};QxDOM.getComputedScreenDocumentTop=function(el){return QxDOM.getComputedScreenOuterTop(el.ownerDocument.body);};QxDOM.getComputedScreenDocumentRight=function(el){return QxDOM.getComputedScreenOuterRight(el.ownerDocument.body);};QxDOM.getComputedScreenDocumentBottom=function(el){return QxDOM.getComputedScreenOuterBottom(el.ownerDocument.body);};}else {QxDOM.getComputedScreenDocumentLeft=function(el){return el.document.parentWindow.screenLeft;};QxDOM.getComputedScreenDocumentTop=function(el){return el.document.parentWindow.screenTop;};QxDOM.getComputedScreenDocumentRight=function(el){};QxDOM.getComputedScreenDocumentBottom=function(el){};};QxDOM.getComputedPreferredSize=function(el){try{var elst=el.style;var _pa=el.parentNode;var _ne=el.nextChild;var _do=el.ownerDocument.body;var _el_w=isValidString(elst.width)?elst.width:"";var _el_h=isValidString(elst.height)?elst.height:"";var _el_p=isValidString(elst.position)?elst.position:"";var _el_d=isValidString(elst.display)?elst.display:"";var _el_v=isValidString(elst.visibility)?elst.visibility:"";_pa.removeChild(el);elst.width=elst.height="auto";elst.position="absolute";elst.display="inline";elst.visibility="hidden";_do.appendChild(el);var r={width:el.offsetWidth,height:el.offsetHeight};_do.removeChild(el);elst.width=_el_w;elst.height=_el_h;elst.position=_el_p;elst.display=_el_p;elst.visibility=_el_v;_ne?_pa.insertBefore(el,_ne):_pa.appendChild(el);return r;}catch(ex){throw new Error("Failed to detect preferred size for "+el+":"+ex);};};QxDOM.getComputedPreferredWidth=function(el){return QxDOM.getComputedPreferredSize(el).width;};QxDOM.getComputedPreferredHeight=function(el){return QxDOM.getComputedPreferredSize(el).height;};QxDOM.addClass=function(el,newClass){var n=el.className.add(newClass," ");if(n!=el.className){el.className=n;};};QxDOM.removeClass=function(el,oldClass){var n=el.className.remove(oldClass," ");if(n!=el.className){el.className=n;};};if((new QxClient).isMshtml()){QxDOM.setWidth=function(el,intValue){el.style.pixelWidth=intValue;};QxDOM.setHeight=function(el,intValue){el.style.pixelHeight=intValue;};}else {QxDOM.setWidth=function(el,intValue){el.style.width=intValue+"px";};QxDOM.setHeight=function(el,intValue){el.style.height=intValue+"px";};};QxDOM.getElementFromPoint=function(x,y){return QxDOM.getElementFromPointHandler(document.body,x,y);};QxDOM.getElementFromPointHandler=function(node,x,y,recursive){var ch=node.childNodes;var chl=ch.length-1;if(chl<0){return null;};var chc,subres,ret;do {chc=ch[chl];ret=QxDOM.getElementFromPointChecker(chc,x,y);if(ret){if(typeof recursive=="boolean"&&recursive==false&&2==1){return chc;}else {subres=QxDOM.getElementFromPointHandler(chc,x-ret[0]-QxDOM.getComputedBorderLeft(chc),y-ret[2]-QxDOM.getComputedBorderTop(chc));return subres?subres:chc;};};}while(chl--);return null;};QxDOM.getElementFromPointChecker=function(chc,x,y){var xstart,ystart,xstop,ystop;if(chc.nodeType!=1){return false;};xstart=QxDOM.getOffsetLeft(chc);if(x>xstart){ystart=QxDOM.getOffsetTop(chc);if(y>ystart){xstop=xstart+chc.offsetWidth;if(xstop==xstart&&chc.className=="QxContainer"){xstop=xstart+chc._QxWidget.getAnyWidth();};if(x<xstop){ystop=ystart+chc.offsetHeight;if(y<ystop){return[xstart,xstop,ystart,ystop];};};};};return false;};QxDOM.getElementAbsolutePointChecker=function(chc,x,y){var xstart,ystart,xstop,ystop;if(!chc||chc.nodeType!=1){return false;};xstart=QxDOM.getComputedPageBoxLeft(chc);if(x>xstart){ystart=QxDOM.getComputedPageBoxTop(chc);if(y>ystart){xstop=xstart+chc.offsetWidth;if(xstop==xstart&&chc.className=="QxContainer"){xstop=xstart+chc._QxWidget.getAnyWidth();};if(x<xstop){ystop=ystart+chc.offsetHeight;if(y<ystop){return[xstart,xstop,ystart,ystop];};};};};return false;};if((new QxClient).isGecko()){QxDOM.getOffsetLeft=function(el){var val=el.offsetLeft;var pa=el.parentNode;var pose=QxDOM.getComputedStyleProperty(el,"position");var posp=QxDOM.getComputedStyleProperty(pa,"position");if(pose!="absolute"&&pose!="fixed"){val-=QxDOM.getComputedBorderLeft(pa);};if(posp!="absolute"&&posp!="fixed"){while(pa){pa=pa.parentNode;if(!pa||isInvalidString(pa.tagName)){break;};var posi=QxDOM.getComputedStyleProperty(pa,"position");if(posi=="absolute"||posi=="fixed"){val-=QxDOM.getComputedBorderLeft(pa)+QxDOM.getComputedPaddingLeft(pa);break;};};};return val;};QxDOM.getOffsetTop=function(el){var val=el.offsetTop;var pa=el.parentNode;var pose=QxDOM.getComputedStyleProperty(el,"position");var posp=QxDOM.getComputedStyleProperty(pa,"position");if(pose!="absolute"&&pose!="fixed"){val-=QxDOM.getComputedBorderTop(pa);};if(posp!="absolute"&&posp!="fixed"){while(pa){pa=pa.parentNode;if(!pa||isInvalidString(pa.tagName)){break;};var posi=QxDOM.getComputedStyleProperty(pa,"position");if(posi=="absolute"||posi=="fixed"){val-=QxDOM.getComputedBorderTop(pa)+QxDOM.getComputedPaddingTop(pa);break;};};};return val;};}else {QxDOM.getOffsetLeft=function(el){return el.offsetLeft;};QxDOM.getOffsetTop=function(el){return el.offsetTop;};};if((new QxClient).isMshtml()){QxDOM.addEventListener=function(e,t,f){e.attachEvent("on"+t,f);};QxDOM.removeEventListener=function(e,t,f){e.detachEvent("on"+t,f);};}else {QxDOM.addEventListener=function(e,t,f){e.addEventListener(t,f,false);};QxDOM.removeEventListener=function(e,t,f){e.removeEventListener(t,f,false);};};if((new QxClient).isMshtml()){QxDOM.getWindowInnerWidth=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.clientWidth){return w.document.documentElement.clientWidth;}else if(w.document.body){return w.document.body.clientWidth;};return 0;};QxDOM.getWindowInnerHeight=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.clientHeight){return w.document.documentElement.clientHeight;}else if(w.document.body){return w.document.body.clientHeight;};return 0;};QxDOM.getClientScrollLeft=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.scrollLeft){return w.document.documentElement.scrollLeft;}else if(w.document.body){return w.document.body.scrollTop;};return 0;};QxDOM.getClientScrollTop=function(w){if(!w){w=window;};if(w.document.documentElement&&w.document.documentElement.scrollTop){return w.document.documentElement.scrollTop;}else if(w.document.body){return w.document.body.scrollTop;};return 0;};}else {QxDOM.getWindowInnerWidth=function(w){return(w||window).innerWidth;};QxDOM.getWindowInnerHeight=function(w){return(w||window).innerHeight;};QxDOM.getClientScrollLeft=function(w){return(w||window).document.body.scrollLeft;};QxDOM.getClientScrollTop=function(w){return(w||window).document.body.scrollTop;};};QxDOM.scrollIntoViewX=function(vChild,vParent){if(!vParent){vParent=vChild.parentNode;};var l=vChild.offsetLeft;var w=vChild.offsetWidth;var sl=vParent.scrollLeft;var cw=vParent.clientWidth;if(w>cw||l<sl){vParent.scrollLeft=l;}else if(l+w>sl+cw){vParent.scrollLeft=l+w-cw;};};QxDOM.scrollIntoViewY=function(vChild,vParent){if(!vParent){vParent=vChild.parentNode;};var t=vChild.offsetTop;var h=vChild.offsetHeight;var st=vParent.scrollTop;var ch=vParent.clientHeight;if(h>ch||t<st){vParent.scrollTop=t;}else if(t+h>st+ch){vParent.scrollTop=t+h-ch;};};window._start=(new Date).valueOf();function QxDebug(){var t=String((new Date).valueOf()-window._start);while(t.length<5)t="0"+t;t+=":&#160;";var m;if(arguments.length==2){if(arguments[0]==this.last){m=t+"&#160;&#160;"+arguments[1]+"<br/>";}else {m = t + arguments[0] + "<br/>" + t + "&#160;&#160;" + arguments[1] + "<br/>";this.last=arguments[0];};}else {m=t+arguments[0];};var d=document.getElementById("testDebug");if(!d){QxDebug.cache+=m;}else {if(QxDebug.cache!=""){d.innerHTML+=QxDebug.cache;QxDebug.cache="";};d.innerHTML+=m;};};QxDebug.cache="";function QxDebugTimer(id){if(QxDebugTimerCache[id]){QxDebug("QxDebugTimer",id+":"+((new Date).valueOf()-QxDebugTimerCache[id])+"ms");delete QxDebugTimerCache[id];}else {QxDebugTimerCache[id]=(new Date).valueOf();};};QxDebugTimerCache={};function QxTarget(){QxObject.call(this);this._i5={};};QxTarget.extend(QxObject,"QxTarget");proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxObject.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);return true;};proto.addEventListener=function(eType,eFunc,eObject){if(this._disposed){return;};if(typeof eFunc!="function"){throw new Error("'"+eFunc+"' is not a function!");};if(typeof this._i5[eType]=="undefined"){this._i5[eType]={};};var key=QxObject.toHash(eFunc)+(eObject?"::"+QxObject.toHash(eObject):"");this._i5[eType][key]={handler:eFunc,object:eObject };};proto.hasEventListeners=function(eType){return typeof this._i5[eType]!="undefined";};proto.removeEventListener=function(eType,eFunc,eObject){if(this._disposed||typeof this._i5[eType]=="undefined"){return;};if(typeof eFunc!="function"){throw new Error("'"+eFunc+"' is not a function!");};var key=QxObject.toHash(eFunc)+(eObject?"::"+QxObject.toHash(eObject):"");delete this._i5[eType][key];};proto.dispatchEvent=function(e,dispose){if(this._disposed){return;};if(!e._target){e._target=this;};this._i6(e,dispose);return !e._defaultPrevented;;};proto._i6=function(e,dispose){if(this._disposed){return;};e.setCurrentTarget(this);var fs=this._i5[e.getType()];if(fs){var f,o;for(var hc in fs){f=fs[hc].handler;o=fs[hc].object;if(typeof f=="function"){f.call(typeof o=="object"?o:this,e);};};};var p=this.getParent();if(e.getBubbles()&&!e.getPropagationStopped()&&p&&p.getEnabled()){p._i6(e,false);};if(dispose){e.dispose();};};proto.getParent=function(){return null;};proto.dispose=function(_b1,propOldName,_b3,_b4){if(this._disposed){return;};if(typeof this._i5=="object"){for(var eType in this._i5){for(var eKey in this._i5[eType]){delete this._i5[eType][eKey];};delete this._i5[eType];};};delete this._i5;return QxObject.prototype.dispose.call(this);};function QxApplication(){if(QxApplication._instance){return QxApplication._instance;};QxTarget.call(this);window.onload=function(){window.application.init();};QxApplication._instance=this;};QxApplication.extend(QxTarget,"QxApplication");proto._clientWindow=null;proto._activeWidget=null;proto._userApplication=null;proto.coreObjects=["QxClient","QxClientWindow","QxClientDocument","QxWidget","QxEventManager","QxFocusManager","QxTarget","QxEvent","QxMouseEvent","QxKeyEvent"];proto.initcheck=function(){var ok=true;if(!document.body){return;};var c=this.coreObjects;for(var i=0,cl=c.length;i<cl;i++){if(typeof window[c[i]]!="function"){ok=false;};};if(ok){window.clearInterval(this._loadHandle);return this.init();};};proto.init=function(){window._appstart=(new Date).valueOf();var irun=(window._appstart-window._start);var iobj=QxObject._i3.length;var iper=String(irun/iobj);iper=iper.substring(0,iper.indexOf(".")+4)+"ms";this.debug("Init Runtime:"+irun+"ms");this.debug("Init Object Count:"+iobj);this.debug("Init Object Perf:"+iper);this._clientWindow=new QxClientWindow(window);if(typeof window.application.main=="function"){window.application.main();};window._appstop=window._stop=(new Date).valueOf();var mrun=(window._appstop-window._appstart);var mobj=(QxObject._i3.length-iobj);var mper=String(mrun/mobj);mper=mper.substring(0,mper.indexOf(".")+4)+"ms";this.debug("Main Runtime:"+mrun+"ms");this.debug("Main Object Count:"+mobj);this.debug("Main Object Perf:"+mper);};proto.setActiveWidget=function(v){this._activeWidget=v;};proto.getActiveWidget=function(){return this._activeWidget;};proto.getClientWindow=function(){return this._clientWindow;};proto.getPath=function(){var p=window.location.href;var v=p.substring(0,p.lastIndexOf("/"));return v;};proto.getUserApplication=function(){return this._userApplication;};proto.setUserApplication=function(userApplication){this._userApplication=userApplication;};proto.dispose=function(){if(this.getDisposed()){return;};var dispose_start=(new Date).valueOf();if(this._clientWindow){this._clientWindow.dispose();this._clientWindow=null;};this._activeWidget=null;QxTarget.prototype.dispose.call(this);QxObject.dispose();QxDebug("QxApplication","Dispose total:"+((new Date).valueOf()-dispose_start)+"ms");};window.application=new QxApplication;function QxUserApplication(){if(QxUserApplication._instance){return QxUserApplication._instance;};QxTarget.call(this);QxUserApplication._instance=this;};QxUserApplication.extend(QxTarget,"QxUserApplication");proto.dispose=function(){if(this.getDisposed()){return;};var dispose_start=(new Date).valueOf();QxTarget.prototype.dispose.call(this);QxObject.dispose();QxDebug("QxUserApplication","Dispose total:"+((new Date).valueOf()-dispose_start)+"ms");};function QxClientWindow(windowElement){QxTarget.call(this);this._h3=windowElement;this._h3._QxClientWindow=this;this._addUnloadEvent(windowElement);this._h4=new QxClientDocument(this);this._h5=new QxEventManager(this);this._h6=new QxFocusManager(this);};QxClientWindow.extend(QxTarget,"QxClientWindow");proto.getEventManager=function(){return this._h5;};proto.getFocusManager=function(){return this._h6;};proto.getClientDocument=function(){return this._h4;};proto.getDocument=function(){return this._h4;};proto.getElement=function(){return this._h3;};if((new QxClient).isMshtml()){proto._addUnloadEvent=function(el){if(el==window){el.attachEvent("onunload",new Function("(new QxApplication).dispose();"));}else {el.attachEvent("onunload",function(e){if(el._QxClientWindow){el._QxClientWindow.dispose();el._QxClientWindow=null;};});};};}else if((new QxClient).isGecko()){proto._addUnloadEvent=function(el){if(el==window){el.addEventListener("unload",new Function("(new QxApplication).dispose();"),false);}else {el.addEventListener("unload",function(e){if(el._QxClientWindow){el._QxClientWindow.dispose();el._QxClientWindow=null;};},false);};};}else {proto._addUnloadEvent=function(el){};};proto.dispose=function(){if(this.getDisposed()){return;};if(this._h3){this._h3._QxClientWindow=null;this._h3=null;};if(this._h5){this._h5.dispose();this._h5=null;};if(this._h6){this._h6.dispose();this._h6=null;};if(this._h4){this._h4.dispose();this._h4=null;};QxTarget.prototype.dispose.call(this);return true;};function QxBuilder(flags){QxTarget.call(this);this._propertyEditors={};this._registerDefaultPropertyEditors();this._radioButtonManagers={};this._debugContext=[];this._flags=flags||{};if(this._flags.strict==null){this._flags.strict=true;};};QxBuilder.extend(QxTarget,"QxBuilder");proto.buildFromUrl=function(parent,url){var loader=new QxXmlHttpLoader();var self=this;loader.addEventListener("complete",function(e){self.build(parent,e.getValue());e.preventDefault();self.dispatchEvent(new QxEvent("done"),true);});loader.load(url);};proto.build=function(parent,node){if(parent instanceof QxApplication){parent=parent.getClientWindow().getDocument();};if(typeof node=="object"&&node.nodeName=='TEXTAREA'){node=node.value;};if(typeof node=="string"){if(new QxClient().isMshtml()){var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.loadXML(node);node=xmlDoc.documentElement;if(xmlDoc.parseError.errorCode!=0){throw new Error("error parsing xml "+xmlDoc.parseError+"\nLine:"+xmlDoc.parseError.line+':'+xmlDoc.parseError.srcText);};}else{var parser=new DOMParser();node=parser.parseFromString(node,"text/xml").documentElement;};};this._buildNodes(parent,node.childNodes);};proto._buildNodes=function(parent,nodes){var x=0;for(var i=0;i<nodes.length;i++){var n=nodes[i];if(n.nodeType==1){this._debugContext.push(n.nodeName+'['+(x++)+']');this._buildWidgetFromNode(parent,n);this._debugContext.pop();};};};proto._buildEventListener=function(widget,args,text){if(isInvalidString(args.type)){throw this._newBuildError('eventListener requires a string type attribute');};var self=this;if(isValidString(args.delegate)){var dc=this._formatDebugContext();if(args.delegate.indexOf('.')>-1){var p=args.delegate.split('.');var o=p[0];var m=p[1];widget.addEventListener(args.type,function(e){if(!window[o]){throw self._newError(dc,'delegate not found',{delegate:args.delegate});};if(!window[o][m]){throw self._newError(dc,'delegate not found',{delegate:args.delegate});};window[o][m].apply(window[o],[e]);});}else{widget.addEventListener(args.type,function(e){if(!window[args.delegate]){throw self._newError(dc,'delegate not found',{delegate:args.delegate});};window[args.delegate].apply(null,[e]);});};}else{if(!args.args){args.args="event";};var f=new Function(args.args,text);widget.addEventListener(args.type,f);};};proto._buildWidgetFromNode=function(parent,node){var className=this._extractClassName(node);if(!className){if(parent instanceof QxAtom){var text=this._serializeToString(node);parent.setText((parent.getText()||"")+text);return;};throw this._newBuildError("unrecognised node",{nodeName:node.nodeName});};if(className=="QxWidgets"){this._buildNodes(parent,node.childNodes);return;};if(className=="QxScript"){var e=document.createElement("script");var attribs=this._mapXmlAttribToObject(node);if(attribs.type){e.type=attribs.type;}else{e.type='text/javascript';};if((new QxClient).isMshtml()){e.innerHTML=eval(node.firstChild.nodeValue);}else {e.innerHTML=node.firstChild.nodeValue;};document.body.appendChild(e);return;};if(className=="QxEventListener"){var attribs=this._mapXmlAttribToObject(node);var text;if(node.firstChild){text=node.firstChild.nodeValue;};this._buildEventListener(parent,attribs,text);return;};var constructor=window[className];if(!constructor){throw this._newBuildError("constructor not found",{className:className});};var widget=new constructor();var attribs=this._mapXmlAttribToObject(node,widget);delete attribs['qxtype'];if(attribs.id){window[attribs.id]=widget;delete attribs.id;};for(var a in attribs){if(a.toLowerCase().indexOf('on')==0&&a.length>2){var type=a.substring(2);type=type.charAt(0)+type.substring(1);this._buildEventListener(widget,{type:type,args:'event'},attribs[a]);delete attribs[a];};};var layoutHint;if(typeof QxLayout!="undefined"&&parent instanceof QxLayout){if(attribs.layouthint){try{eval('layoutHint={'+attribs.layouthint+'}');}catch(e){throw this._newBuildError('invalid property value',{name:'layoutHint',value:attrib.layoutHint},e);};delete attribs.layouthint;};};for(var n in attribs){this._debugContext.push("@"+n);this._setWidgetProperty(widget,n,attribs[n]);this._debugContext.pop();};if(typeof QxMenu!="undefined"&&widget instanceof QxMenu){window.application.getClientWindow().getDocument().add(widget);parent.setMenu(widget);}else if(layoutHint&&typeof QxLayout!="undefined"&&parent instanceof QxLayout){parent.add(widget,layoutHint);}else{parent.add(widget);};this._buildNodes(widget,node.childNodes);};proto._setWidgetProperty=function(widget,name,value){var editor=this._findPropertyEditor(widget.classname,name);if(!editor){editor=this._coercePropertyEditor;};editor.set(widget,name,value);};proto._findPropertyEditor=function(className,propertyName){var m=this._propertyEditors[className];if(m&&m[propertyName]){return m[propertyName];};var w=window[className];if(w&&w.prototype.superclass&&w.prototype.superclass.prototype.classname){return this._findPropertyEditor(w.prototype.superclass.prototype.classname,propertyName);};return null;};proto.registerPropertyEditor=function(className,propertyName,editor){if(!this._propertyEditors[className])this._propertyEditors[className]={};this._propertyEditors[className][propertyName]=editor;};proto._registerDefaultPropertyEditors=function(){var self=this;var commaDelimitedPropertyEditor={};commaDelimitedPropertyEditor.set=function(widget,name,value){if(value==null||value==""){self._setProperty(widget,name,null);return;};var s=value.split(",");var v=[];for(var i=0;i<s.length;i++){v[i]=self._coerce(s[i]);};self._setProperties(widget,name,v);};var evalPropertyEditor={};evalPropertyEditor.set=function(widget,name,value){if(value==null||value==""){self._setProperty(widget,name,null);return;};self._setProperty(widget,name,eval(value));};var radioButtonManagerEditor={};radioButtonManagerEditor.set=function(widget,name,value){var manager=self._radioButtonManagers[value];if(!manager){manager=new QxRadioButtonManager(value);self._radioButtonManagers[value]=manager;};manager.add(widget);};this.registerPropertyEditor('QxWidget','location',commaDelimitedPropertyEditor);this.registerPropertyEditor('QxWidget','dimension',commaDelimitedPropertyEditor);this.registerPropertyEditor('QxWidget','styleproperty',commaDelimitedPropertyEditor);this.registerPropertyEditor('QxWidget','border',evalPropertyEditor);this.registerPropertyEditor('QxMenuRadioButton','group',radioButtonManagerEditor);this.registerPropertyEditor('QxRadioButton','group',radioButtonManagerEditor);this._coercePropertyEditor={};this._coercePropertyEditor.set=function(widget,name,value){self._setProperty(widget,name,self._coerce(value));};};proto._coerce=function(value){if(value==null)return value;if(typeof value=='object')return value;if(typeof value=='function')return value;if(typeof value=='number')return value;if(typeof value=='boolean')return value;if(typeof value=='date')return value;if(typeof value=='array')return value;var n=new Number(value);if(!isNaN(n))return n.valueOf();if(value=="true")return true;if(value=="false")return false;var d=Date.parse(value);if(d!=null&&!isNaN(d))return d;if(typeof value=='string'){if(value=="")return null;};return value;};proto._setProperty=function(widget,name,value){this._setProperties(widget,name,[value]);};proto._setProperties=function(widget,name,value){var n="set"+name;for(var a in widget){if(n==a.toLowerCase()){var setter=widget[a];break;};};if(!setter&&this._flags.strict)throw this._newBuildError('no setter defined on widget instance',{widget:widget,property:name});setter.apply(widget,value);};proto._extractClassName=function(node){var n;if(node.nodeName.toUpperCase()=="DIV"){if(!node.attributes['qxtype']){return null };n=node.attributes['qxtype'].value;}else{n=node.nodeName;};var nameParts=n.split(":");if(nameParts.length!=2){return null;};return nameParts[0].toFirstUp()+nameParts[1].toFirstUp();};proto._serializeToString=function(node){var xmlSerializer=new XMLSerializer();return xmlSerializer.serializeToString(node);};proto._mapXmlAttribToObject=function(node){var r={};var c=node.attributes;for(var i=0;i<c.length;i++){r[c[i].name.toLowerCase()]=c[i].value;};return r;};proto._newBuildError=function(message,data,exception){return this._newError(this._formatDebugContext(),message,data,exception);};proto._newError=function(debugContext,message,data,exception){var m=message;var joiner="";var d="";if(data){for(var p in data){d+=joiner+p+"="+data[p]+'';joiner=" ";};m+=" "+d+" ";};m+=" context:"+debugContext+" ";if(exception){m+=" error:"+exception+" ";};return new Error(m);};proto._formatDebugContext=function(){var s="";for(var i=0;i<this._debugContext.length;i++){var v=this._debugContext[i];s+='/'+v;};return s;};function QxVariable(v){return v;};function QxString(v){return String(v);};function QxNumber(v){if(typeof v=="number"){return v;}else if(typeof v=="string"){if(v=="true"||v=="false"){return Number(Boolean(v));}else {return parseFloat(v);};}else if(typeof v=="boolean"){return Number(v);}else {return NaN;};};function QxInteger(v){return Math.round(QxNumber(v));};function QxColor(v){var v1=QxColor.read(v);var v2=QxColor.RGB2CSS(v1);return v2;};QxColor.m_hex=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];QxColor.r_hex3 = /^#[0-9A-Fa-f]{3}$/;QxColor.r_hex6 = /^#[0-9A-Fa-f]{6}$/;QxColor.r_cssrgb = /^rgb\([0-9]{1,3}\.{0,1}[0-9]*,\s*[0-9]{1,3}\.{0,1}[0-9]*,\s*[0-9]{1,3}\.{0,1}[0-9]*\)$/;QxColor.r_rgb = /^[0-9]{1,3},[0-9]{1,3},[0-9]{1,3}$/;QxColor.r_number = /^[0-9]{1,3}\.{0,1}[0-9]*$/;QxColor.r_percent = /^[0-9]{1,3}\.{0,1}[0-9]*%$/;QxColor.os=["activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext"];QxColor.names={white:[255,255,255],black:[0,0,0],grey:[128,128,128],gray:[128,128,128],red:[255,0,0],green:[0,128,0],blue:[0,0,255],yellow:[255,255,0],orange:[255,165,0],purple:[128,0,128],cyan:[0,255,255],magenta:[255,0,255] };QxColor.read=function(v){if(v==null||v==""){return null;}else if(v=="transparent"){return v;}else if(typeof v=="object"){if(typeof v.length=="undefined"||v.length==0)throw new Error("Malformed Object");if(v.length==1)return[v[0],v[0],v[0]];else if(v.length==3)return v;else throw new Error("Malformed Object");}else if(v=="false"||v==false){return[0,0,0];}else if(v=="true"||v==true){return[255,255,255];}else if(typeof QxColor.names[v]=="object"){return QxColor.names[v];}else if(QxColor.os.contains(v.toString().toLowerCase())){return v;}else if(QxColor.r_hex3.test(v)){var r=[];var s;v=v.toUpperCase();for(var i=0;i<3;i++){s=QxColor.m_hex.indexOf(v.charAt(i+1));r[i]=(s*16)+s;};return r;}else if(QxColor.r_hex6.test(v)){var r=[];var s1,s2;v=v.toUpperCase();for(var i=0;i<3;i++){s1=QxColor.m_hex.indexOf(v.charAt((i*2)+1));s2=QxColor.m_hex.indexOf(v.charAt((i*2)+2));r[i]=(s1*16)+s2;};return r;}else if(QxColor.r_cssrgb.test(v)||QxColor.r_rgb.test(v)){if(QxColor.r_cssrgb.test(v)){v=v.substring(4,v.length-1);};v = v.split(/,\s*/);for(var i=0;i<3;i++){v[i]=Math.round(v[i]);if(v[i]>255||v[i]<0){throw new Error("Malformed RGB color value");};};return v;}else if(QxColor.r_number.test(v)){v=Math.round(parseFloat(v));if(isNaN(v)){throw new Error("Malformed numeric color value");};return[v,v,v];}else if(QxColor.r_percent.test(v)){v1=Math.round(255*parseFloat(v.replace("%",""))/100);if(v>255||v<0){throw new Error("Malformed percent color value");};return[v,v,v];};QxDebug("QxColor","Failed to read color value:"+v);return[0,0,0];};QxColor.RGB2CSS=function(){if(arguments.length==3){return "rgb("+arguments[0]+","+arguments[1]+","+arguments[2]+")";}else if(arguments.length==1){if(typeof arguments[0]=="string")return arguments[0];else if(arguments[0]==null)return "";else return "rgb("+arguments[0][0]+","+arguments[0][1]+","+arguments[0][2]+")";};return;};QxColor.RGB2HSB=function(r,g,b){var hue,saturation,brightness;r=parseFloat(r);g=parseFloat(g);b=parseFloat(b);var hsbvals=new Array(3);var cmax=(r>g)?r:g;if(b>cmax)cmax=b;var cmin=(r<g)?r:g;if(b<cmin)cmin=b;brightness=cmax/255.0;if(cmax!=0){saturation=(cmax-cmin)/cmax;}else {saturation=0;};if(saturation==0){hue=0;}else {var redc=(cmax-r)/(cmax-cmin);var greenc=(cmax-g)/(cmax-cmin);var bluec=(cmax-b)/(cmax-cmin);if(r==cmax){hue=bluec-greenc;}else if(g==cmax){hue=2.0+redc-bluec;}else {hue=4.0+greenc-redc;};hue=hue/6.0;if(hue<0)hue=hue+1.0;};hsbvals[0]=Math.round(hue*360);hsbvals[1]=Math.round(saturation*100);hsbvals[2]=Math.round(brightness*100);return hsbvals;};QxColor.HSB2RGB=function(h,s,b){var i,f,p,q,t,retval;h=parseFloat(h/360);s=parseFloat(s/100);b=parseFloat(b/100);if(h>=1.0)h %=1.0;if(s>1.0)s=1.0;if(b>1.0)b=1.0;var tov=Math.floor(255*b);if(s==0.0){retval=new Array(tov,tov,tov);}else {h*=6.0;i=Math.floor(h);f=h-i;p=Math.floor(tov*(1.0-s));q=Math.floor(tov*(1.0-(s*f)));t=Math.floor(tov*(1.0-(s*(1.0-f))));if(i==0)retval=new Array(tov,t,p);if(i==1)retval=new Array(q,tov,p);if(i==2)retval=new Array(p,tov,t);if(i==3)retval=new Array(p,q,tov);if(i==4)retval=new Array(t,p,tov);if(i==5)retval=new Array(tov,p,q);};return retval;};function QxTextile(s){var r=s;qtags=[ ["\\*","strong"],["\\?\\?","cite"],["\\+","ins"],["~","sub"],["\\^","sup"],["@","code"] ];for(var i=0;i<qtags.length;i++){ttag=qtags[i][0];htag=qtags[i][1];re=new RegExp(ttag+"\\b(.+?)\\b"+ttag,"g");r=r.replace(re,"<"+htag+">"+"$1"+"</"+htag+">");};re=new RegExp("\\b_(.+?)_\\b","g");r=r.replace(re,"<em>$1</em>");re=new RegExp("[\s\n]-(.+?)-[\s\n]","g");r=r.replace(re,"<del>$1</del>");re=new RegExp('"\\b(.+?)\\(\\b(.+?)\\b\\)":([^\\s]+)','g');r=r.replace(re,'<a href="$3" title="$2">$1</a>');re=new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');r=r.replace(re,'<a href="$2">$1</a>');re=new RegExp("!\\b(.+?)\\(\\b(.+?)\\b\\)!","g");r=r.replace(re,'<img src="$1" alt="$2">');re=new RegExp("!\\b(.+?)\\b!","g");r=r.replace(re,'<img src="$1">');re=new RegExp("(.*)\n([^#\*\n].*)","g");r=r.replace(re,"$1<br/>$2");re=new RegExp("\n<br/>","g");r=r.replace(re,"\n");lines=r.split("\n");nr="";for(var i=0;i<lines.length;i++){line = lines[i].replace(/\s*$/,"");changed=0;if (line.search(/^\s*bq\.\s+/) != -1){line = line.replace(/^\s*bq\.\s+/,"\t<blockquote>")+"</blockquote>";changed=1;};if (line.search(/^\s*h[1-6]\.\s+/) != -1){re=new RegExp("h([1-6])\.(.+)","g");line=line.replace(re,"<h$1>$2</h$1>");changed=1;};if (line.search(/^\s*\*\s+/) != -1){line = line.replace(/^\s*\*\s+/,"\t<liu>") + "</liu>";changed=1;};if (line.search(/^\s*#\s+/) != -1){line = line.replace(/^\s*#\s+/,"\t<lio>") + "</lio>";changed=1;};if (!changed && (line.replace(/\s/g,"").length > 0)){line="<p>"+line+"</p>";};lines[i]=line+"\n";};inlist=0;listtype="";for(var i=0;i<lines.length;i++){line=lines[i];if (inlist && listtype == "ul" && !line.match(/^\t<liu/)){line="</ul>\n"+line;inlist=0;};if (inlist && listtype == "ol" && !line.match(/^\t<lio/)){line="</ol>\n"+line;inlist=0;};if (!inlist && line.match(/^\t<liu/)){line="<ul>"+line;inlist=1;listtype="ul";};if (!inlist && line.match(/^\t<lio/)){line="<ol>"+line;inlist=1;listtype="ol";};lines[i]=line;};r=lines.join("\n");r = r.replace(/li[o|u]>/g, "li>");return r;};function QxEvent(eType,autoDispose){if(typeof autoDispose!="boolean"&&this.classname=="QxEvent"){autoDispose=false;};QxObject.call(this,autoDispose);if(isValid(eType)){this._type=eType;};};QxEvent.extend(QxObject,"QxEvent");proto._bubbles=false;proto._propagationStopped=true;proto._defaultPrevented=false;proto._type="";proto._target=null;proto._currentTarget=null;proto._relatedTarget=null;proto.setType=function(t){this._type=t;};proto.setBubbles=function(b){this._bubbles=b;};proto.setPropagationStopped=function(s){this._propagationStopped=s;};proto.stopPropagation=function(){this._propagationStopped=true;};proto.setPreventDefault=function(d){this._defaultPrevented=d;};proto.setTarget=function(t){this._target=t;};proto.setCurrentTarget=function(t){this._currentTarget=t;};proto.setRelatedTarget=function(t){this._relatedTarget=t;};proto.preventDefault=function(){this.setPreventDefault(true);};proto.getType=function(){return this._type;};proto.getBubbles=function(){return this._bubbles;};proto.getPropagationStopped=function(){return this._propagationStopped;};proto.getPreventDefault=function(){return this._defaultPrevented;};proto.getTarget=function(){return this._target;};proto.getCurrentTarget=function(){return this._currentTarget;};proto.getRelatedTarget=function(){return this._relatedTarget;};proto.dispose=function(){if(this._disposed){return;};this._target=null;this._currentTarget=null;this._relatedTarget=null;QxObject.prototype.dispose.call(this);};function QxMouseEvent(vType,vDomEvent,vAutoDispose,vTarget,vActiveTarget,vRelatedTarget){QxEvent.call(this,vType,vAutoDispose);if(vDomEvent){this._domEvent=vDomEvent;this._domTarget=vDomEvent.target||vDomEvent.srcElement;this._target=isValid(vTarget)?vTarget:this._evalTarget();this._activeTarget=isValid(vActiveTarget)?vActiveTarget:this._evalActiveTarget();this._relatedTarget=isValid(vRelatedTarget)?vRelatedTarget:this._evalRelatedTarget();this._pageX=this._evalPageX();this._pageY=this._evalPageY();this._clientX=this._evalClientX();this._clientY=this._evalClientY();switch(this._button=this._evalButton()){case "left":this._buttonLeft=true;break;case "middle":this._buttonMiddle=true;break;case "right":this._buttonRight=true;break;};};};QxMouseEvent.extend(QxEvent,"QxMouseEvent");proto._bubbles=true;proto._propagationStopped=false;proto._preventDefault=false;proto._domEvent=null;proto._domTarget=null;proto.getDomEvent=function(){return this._domEvent;};proto.getDomTarget=function(){return this._domTarget;};proto._pageX=null;proto._pageY=null;proto.getPageX=function(){return this._pageX;};proto.getPageY=function(){return this._pageY;};if((new QxClient).isGecko()){proto._evalPageX=function(){return this._domEvent.pageX;};proto._evalPageY=function(){return this._domEvent.pageY;};}else if((new QxClient).isMshtml()){if(isInvalid(document.compatMode)||document.compatMode=="BackCompat"){proto._evalPageX=function(){return this._domEvent.clientX+document.documentElement.scrollLeft;};proto._evalPageY=function(){return this._domEvent.clientY+document.documentElement.scrollTop;};}else {proto._evalPageX=function(){return this._domEvent.clientX+document.body.scrollLeft;};proto._evalPageY=function(){return this._domEvent.clientY+document.body.scrollTop;};};}else {proto._evalPageX=function(){return this._domEvent.clientX;};proto._evalPageY=function(){return this._domEvent.clientY;};};proto._clientX=null;proto._clientY=null;proto.getClientX=function(){return this._clientX;};proto.getClientY=function(){return this._clientY;};if((new QxClient).isMshtml()||(new QxClient).isGecko()){proto._evalClientX=function(){return this._domEvent.clientX;};proto._evalClientY=function(){return this._domEvent.clientY;};}else {proto._evalClientX=function(){return this._domEvent.clientX+(document.body&&document.body.scrollLeft!=null?document.body.scrollLeft:0);};proto._evalClientY=function(){return this._domEvent.clientY+(document.body&&document.body.scrollTop!=null?document.body.scrollTop:0);};};proto.getScreenX=function(){return this._domEvent.screenX;};proto.getScreenY=function(){return this._domEvent.screenY;};proto.getCtrlKey=function(){return this._domEvent.ctrlKey;};proto.getShiftKey=function(){return this._domEvent.shiftKey;};proto.getAltKey=function(){return this._domEvent.altKey;};proto.getDomTargetByTagName=function(elemTagName,stopElem){var dt=this.getDomTarget();while(dt&&dt.tagName!=elemTagName&&dt!=stopElem){dt=dt.parentNode;};if(dt&&dt.tagName==elemTagName){return dt;};return null;};if((new QxClient).isMshtml()){proto.preventDefault=function(){this._domEvent.returnValue=false;this._defaultPrevented=true;};}else {proto.preventDefault=function(){this._domEvent.preventDefault();this._domEvent.returnValue=false;this._defaultPrevented=true;};};proto.getDefaultPrevented=function(){return this._defaultPrevented;};proto._target=proto._activeTarget=proto._relatedTarget=null;proto.getTarget=function(){return this._target;};proto.getActiveTarget=function(){return this._activeTarget;};proto.getRelatedTarget=function(){return this._relatedTarget;};proto._evalTarget=function(){return QxEventManager.getTargetObjectFromEvent(this._domEvent);};proto._evalActiveTarget=function(){return QxEventManager.getActiveTargetObjectFromEvent(this._domEvent);};proto._evalRelatedTarget=function(){return QxEventManager.getRelatedActiveTargetObjectFromEvent(this._domEvent);};proto._button=0;proto.getButton=function(){return this._button;};proto.isLeftButton=function(){return this._buttonLeft;};proto.isMiddleButton=function(){return this._buttonMiddle;};proto.isRightButton=function(){return this._buttonRight;};proto.isNotLeftButton=function(){return !this._buttonLeft;};proto.isNotMiddleButton=function(){return !this._buttonMiddle;};proto.isNotRightButton=function(){return !this._buttonRight;};if((new QxClient).isMshtml()){proto._evalButton=function(){var b=this._domEvent.button;return b==1?"left":b==2?"right":b==4?"middle":null;};QxMouseEvent.buttons={left:1,right:2,middle:4};}else {proto._evalButton=function(){var b=this._domEvent.button;return b==0?"left":b==2?"right":b==1?"middle":null;};QxMouseEvent.buttons={left:0,right:2,middle:1};};proto._wheelDelta=0;proto._wheelDeltaEvaluated=false;proto.getWheelDelta=function(){if(this._wheelDeltaEvaluated){return this._wheelDelta;};this._wheelDeltaEvaluated=true;return this._wheelDelta=this._evalWheelDelta();};if((new QxClient).isMshtml()){proto._evalWheelDelta=function(){return this._domEvent.wheelDelta?this._domEvent.wheelDelta/40:0;};}else {proto._evalWheelDelta=function(){return-(this._domEvent.detail||0);};};proto.dispose=function(){if(this.getDisposed()){return;};QxEvent.prototype.dispose.call(this);this._domEvent=null;this._domTarget=null;this._target=null;this._activeTarget=null;this._relatedTarget=null;};QxMouseEvent._screenX=QxMouseEvent._screenY=QxMouseEvent._clientX=QxMouseEvent._clientY=QxMouseEvent._pageX=QxMouseEvent._pageY=0;QxMouseEvent._button=null;QxMouseEvent._storeEventState=function(e){QxMouseEvent._screenX=e.getScreenX();QxMouseEvent._screenY=e.getScreenY();QxMouseEvent._clientX=e.getClientX();QxMouseEvent._clientY=e.getClientY();QxMouseEvent._pageX=e.getPageX();QxMouseEvent._pageY=e.getPageY();QxMouseEvent._button=e.getButton();};QxMouseEvent.getScreenX=function(){return QxMouseEvent._screenX;};QxMouseEvent.getScreenY=function(){return QxMouseEvent._screenY;};QxMouseEvent.getClientX=function(){return QxMouseEvent._clientX;};QxMouseEvent.getClientY=function(){return QxMouseEvent._clientY;};QxMouseEvent.getPageX=function(){return QxMouseEvent._pageX;};QxMouseEvent.getPageY=function(){return QxMouseEvent._pageY;};QxMouseEvent.getButton=function(){return QxMouseEvent._button;};function QxKeyEvent(eType,domEvent,autoDispose){QxEvent.call(this,eType,autoDispose);this._domEvent=domEvent;};QxKeyEvent.extend(QxEvent,"QxKeyEvent");QxKeyEvent.keys= {esc:27,enter:13,tab:9,space:32,up:38,down:40,left:37,right:39,shift:16,ctrl:17,alt:18,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,del:46,backspace:8,insert:45,home:36,end:35,pageup:33,pagedown:34,numlock:144,numpad_0:96,numpad_1:97,numpad_2:98,numpad_3:99,numpad_4:100,numpad_5:101,numpad_6:102,numpad_7:103,numpad_8:104,numpad_9:105,numpad_divide:111,numpad_multiply:106,numpad_minus:109,numpad_plus:107 };QxKeyEvent.codes={};for(var i in QxKeyEvent.keys){QxKeyEvent.codes[QxKeyEvent.keys[i]]=i;};proto._domEvent=null;proto._preventDefault=false;proto._bubbles=true;proto._propagationStopped=false;proto.dispose=function(){if(this._disposed)return;this._domEvent=null;QxEvent.prototype.dispose.call(this);};proto.getDomEvent=function(){return this._domEvent;};proto.getDomTarget=function(){return this._domEvent.target||this._domEvent.srcElement;};proto.getKeyCode=function(){return this._domEvent.keyCode||this._domEvent.charCode;};proto.getCtrlKey=function(){return this._domEvent.ctrlKey;};proto.getShiftKey=function(){return this._domEvent.shiftKey;};proto.getAltKey=function(){return this._domEvent.altKey;};proto.setPreventDefault=function(d){if(!this._defaultPrevented&&d){this.preventDefault();}else {return false;};};if((new QxClient).isMshtml()){proto.preventDefault=function(){this._domEvent.returnValue=false;this._defaultPrevented=true;};}else {proto.preventDefault=function(){this._domEvent.preventDefault();this._domEvent.returnValue=false;this._defaultPrevented=true;};};function QxFocusEvent(eType,autoDispose){QxEvent.call(this,eType,autoDispose);if(eType=="focusin"||eType=="focusout"){this._bubbles=true;this._propagationStopped=false;};};QxFocusEvent.extend(QxEvent,"QxFocusEvent");function QxDataEvent(eType,newValue,oldValue,autoDispose){QxEvent.call(this,eType,autoDispose);if(typeof newValue!="undefined"){this._newValue=newValue;};if(typeof oldValue!="undefined"){this._oldValue=oldValue;};};QxDataEvent.extend(QxEvent,"QxDataEvent");proto._propagationStopped=false;proto.getValue=proto.getData=proto.getNewValue=function(){return this._newValue;};proto.getOldValue=function(){return this._oldValue;};proto.dispose=function(){if(this._disposed){return;};this._newValue=this._oldValue=null;QxEvent.prototype.dispose.call(this);};function QxWidget(){QxTarget.call(this);this._a2=[];this._htmlProperties=copyCreateHash(this._htmlProperties);this._htmlProperties.id="QxWidget-"+(++QxWidget._count);this._htmlProperties.className=this.classname;if(isInvalid(this._htmlProperties.hideFocus)){this._htmlProperties.hideFocus=false;};if(isInvalid(this._htmlProperties.unselectable)){this._htmlProperties.unselectable="on";};this._htmlAttributes=copyCreateHash(this._htmlAttributes);this._styleProperties=copyCreateHash(this._styleProperties);this._usedDimensionsHorizontal=[];this._usedDimensionsVertical=[];};QxWidget.extend(QxTarget,"QxWidget");QxWidget._count=0;QxWidget.addProperty({name:"parent",defaultValue:null});QxWidget.addProperty({name:"element"});QxWidget.addProperty({name:"visible",type:Boolean,defaultValue:false,getAlias:"isVisible"});QxWidget.addProperty({name:"anonymous",type:Boolean,defaultValue:false,getAlias:"isAnonymous"});QxWidget.addProperty({name:"tagName",type:String,defaultValue:"DIV"});QxWidget.addProperty({name:"cssClassName",type:String});QxWidget.addProperty({name:"timerCreate",type:Boolean,defaultValue:true});QxWidget.addProperty({name:"layoutHint",defaultValue:"auto"});QxWidget.addProperty({name:"position",type:String,impl:"styleProperty"});QxWidget.addProperty({name:"float",type:String,impl:"floatStyleProperty"});QxWidget.addProperty({name:"display",type:String,impl:"styleProperty",defaultValue:"none"});QxWidget.addProperty({name:"visibility",type:String,impl:"styleProperty",defaultValue:"hidden"});QxWidget.addProperty({name:"textAlign",type:String,impl:"styleProperty"});QxWidget.addProperty({name:"verticalAlign",type:String,impl:"styleProperty"});QxWidget.addProperty({name:"horizontalAlign",type:String});QxWidget.addProperty({name:"zIndex",type:Number,impl:"styleProperty"});QxWidget.addProperty({name:"backgroundColor",type:QxColor,impl:"styleProperty"});QxWidget.addProperty({name:"color",type:QxColor,impl:"styleProperty"});QxWidget.addProperty({name:"border",type:Object});QxWidget.addProperty({name:"opacity",type:Number});QxWidget.addProperty({name:"cursor",type:String});QxWidget.addProperty({name:"backgroundImage",type:String});QxWidget.addProperty({name:"overflow",type:String});QxWidget.addProperty({name:"clip",type:Object});QxWidget.addProperty({name:"tabIndex",type:Number,defaultValue:-1});QxWidget.addProperty({name:"focused",type:Boolean,defaultValue:false});QxWidget.addProperty({name:"canSelect",type:Boolean,defaultValue:true});QxWidget.addProperty({name:"toolTip",type:Object});QxWidget.addProperty({name:"contextMenu",type:Object});QxWidget.addProperty({name:"state",type:String});QxWidget.addProperty({name:"capture",type:Boolean,defaultValue:false});QxWidget.addProperty({name:"dropDataTypes",type:Object});QxWidget.addProperty({name:"command",type:Object});QxWidget.addProperty({name:"appearance",type:String});QxWidget.addProperty({name:"marginTop",type:Number,defaultValue:0,impl:"marginVertical",groups:["margin"]});QxWidget.addProperty({name:"marginRight",type:Number,defaultValue:0,impl:"marginHorizontal",groups:["margin"]});QxWidget.addProperty({name:"marginBottom",type:Number,defaultValue:0,impl:"marginVertical",groups:["margin"]});QxWidget.addProperty({name:"marginLeft",type:Number,defaultValue:0,impl:"marginHorizontal",groups:["margin"]});QxWidget.addProperty({name:"paddingTop",type:Number,defaultValue:0,impl:"paddingVertical",groups:["padding"]});QxWidget.addProperty({name:"paddingRight",type:Number,defaultValue:0,impl:"paddingHorizontal",groups:["padding"]});QxWidget.addProperty({name:"paddingBottom",type:Number,defaultValue:0,impl:"paddingVertical",groups:["padding"]});QxWidget.addProperty({name:"paddingLeft",type:Number,defaultValue:0,impl:"paddingHorizontal",groups:["padding"]});QxWidget.addProperty({name:"left",impl:"horizontalDimension",groups:["location","space","edge"]});QxWidget.addProperty({name:"right",impl:"horizontalDimension",groups:["edge"]});QxWidget.addProperty({name:"width",impl:"horizontalDimension",groups:["dimension","space"]});QxWidget.addProperty({name:"minWidth",impl:"horizontalLimitDimension",defaultValue:-Infinity});QxWidget.addProperty({name:"maxWidth",impl:"horizontalLimitDimension",defaultValue:Infinity});QxWidget.addProperty({name:"top",impl:"verticalDimension",groups:["location","space","edge"]});QxWidget.addProperty({name:"bottom",impl:"verticalDimension",groups:["edge"]});QxWidget.addProperty({name:"height",impl:"verticalDimension",groups:["dimension","space"]});QxWidget.addProperty({name:"minHeight",impl:"verticalLimitDimension",defaultValue:-Infinity});QxWidget.addProperty({name:"maxHeight",impl:"verticalLimitDimension",defaultValue:Infinity});proto.isCreated=function(){return Boolean(this.getElement());};proto._visualPropertyCheck=function(){if(!this.isCreated()){throw new Error("Create the element first!");};};proto.getStyle=function(){var el=this.getElement();if(!el){throw new Error("Element is not already created!");};return el.style;};proto._createElement=function(_b4){return this.setElement(this.getTopLevelWidget().getDocumentElement().createElement(this.getTagName()),_b4);};proto._getParentNodeForChild=function(otherObject){return this.getElement();};proto._createChildren=function(){var ch=this.getChildren();var chl=ch.length;var cho;var el;try{for(var i=0;i<chl;i++){cho=ch[i];switch(cho.isCreated()){case true:el=cho.getElement();if(!el.parentNode&&cho._shouldBecomeCreated()){this._getParentNodeForChild(cho).appendChild(el);};break;case false:if(cho._shouldBecomeCreated()){cho._createElementWrapper();};break;};};}catch(ex){throw new Error("Failed to setup children:"+ex);};};proto._shouldBecomeCreated=function(){return true;};proto._shouldBecomeChilds=function(){return true;};proto._shouldBecomeVisible=function(){return true;};proto._appendElement=function(otherObject){var pl=this._getParentNodeForChild(otherObject);if(pl){var el=otherObject.getElement();try{pl.appendChild(el);el.scrollTop=el.scrollLeft=pl.scrollTop=pl.scrollLeft=0;}catch(ex){throw new Error("Could not append element:"+el+" to "+pl+":"+ex);};this._postAppendChild(otherObject);}else {throw new Error("No parent node available for this widget:"+otherObject+")");};};proto._removeElement=function(otherObject){var el=otherObject.getElement();var pl=el.parentNode;if(pl){try{pl.removeChild(el);}catch(ex){throw new Error("Could not remove element:"+el+":"+ex);};this._postRemoveChild(otherObject);};};proto._postAppendChild=function(otherObject){if(!this._wasVisible){return;};this._invalidatePreferred();this._onnewchild(otherObject);};proto._onnewchild=function(otherObject){if(this.getWidth()=="auto"){this._setChildrenDependWidth(otherObject,"append-child");};if(this.getHeight()=="auto"){this._setChildrenDependHeight(otherObject,"append-child");};};proto._postRemoveChild=function(otherObject){if(!this._wasVisible){return;};this._invalidatePreferred();this._onremovechild(otherObject);};proto._onremovechild=function(otherObject){if(this.getWidth()=="auto"){this._setChildrenDependWidth(otherObject,"remove-child");};if(this.getHeight()=="auto"){this._setChildrenDependHeight(otherObject,"remove-child");};};proto._appendMyself=function(){var pa=this.getParent();if(pa){pa._appendElement(this);};};proto._removeMyself=function(vParent){if(vParent){vParent._removeElement(this);};};proto._beforeShow=function(_b4){};proto._beforeHide=function(_b4){};QxWidget._createList=[];QxWidget._createListLength=0;QxWidget._createListMaxCount=0;QxWidget._createMaxTimeout=500;QxWidget._createInterval=10;QxWidget.addToCreateList=function(vWidget){QxWidget._createList.push(vWidget);QxWidget._createListMaxCount++;QxWidget._createListLength++;if(QxWidget._createTimer==null){var vWin=window.application.getClientWindow();if(vWin&&vWin.hasEventListeners("creatorStarted")){vWin.dispatchEvent(new QxEvent("creatorStarted"),true);};this._createStart=(new Date).valueOf();QxWidget._createTimer=window.setInterval("QxWidget._timeCreator()",QxWidget._createInterval);};};QxWidget._timeCreator=function(){if(this._timeCreatorRun){return;};this._timeCreatorRun=true;var vParent,vCurrent;var vList=QxWidget._createList;var vStart=(new Date).valueOf();while((vCurrent=vList[0])&&((new Date).valueOf()-vStart)<QxWidget._createMaxTimeout){if(vCurrent.isCreated()){vList.shift();continue;};vParent=vCurrent.getParent();if(vParent&&vParent.isCreated()){vCurrent._createElement();vList.shift();QxWidget._createListLength--;};};var vWin=window.application.getClientWindow();if(vWin&&vWin.hasEventListeners("creatorInterval")){vWin.dispatchEvent(new QxDataEvent("creatorInterval",100-Math.round(QxWidget._createListLength/QxWidget._createListMaxCount*100)),true);};if(QxWidget._createListLength==0){window.clearInterval(QxWidget._createTimer);QxWidget._createTimer=null;QxWidget._createListMaxCount=0;var vWin=window.application.getClientWindow();if(vWin&&vWin.hasEventListeners("creatorStopped")){vWin.dispatchEvent(new QxEvent("creatorStopped"),true);};};delete this._timeCreatorRun;};proto._createElementWrapper=function(_b4){var vParent=this.getParent();if(this.getTimerCreate()&&vParent.getWidth()!="auto"&&vParent.getHeight()!="auto"){QxWidget.addToCreateList(this);}else {this._createElement(_b4);};};proto._modifyParent=function(_b1,_b2,_b3,_b4){if(_b2){_b2._removeChild(this);if(this.isCreated()){this._removeMyself(_b2);};};if(_b1){if(this.contains(_b1)){throw new Error("Could not add me to a child!");};_b1._pushChild(this);if(_b1.isCreated()){if(!_b1._shouldBecomeChilds()){return true;}else if(!this._shouldBecomeCreated()){return true;}else if(!this.isCreated()){this._createElementWrapper(_b4);}else {this._appendMyself();this._render("force");};};};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b2){this._removeMyself(this.getParent());_b2._QxWidget=null;_b2.id="";_b2.name="";this._removeInlineEvents(_b2);};if(_b1){_b1._QxWidget=this;this._applyStyleProperties(_b1,_b4);this._applyHtmlProperties(_b1,_b4);this._applyHtmlAttributes(_b1,_b4);this._addInlineEvents(_b1);this.setVisible(true,_b4);};return true;};if((new QxClient).isMshtml()){proto._addInlineEvents=function(el){el.onpropertychange=QxWidget.__oninlineevent;el.attachEvent("onselect",QxWidget.__oninlineevent);el.attachEvent("onscroll",QxWidget.__oninlineevent);el.attachEvent("onfocus",QxWidget.__oninlineevent);el.attachEvent("onblur",QxWidget.__oninlineevent);};proto._removeInlineEvents=function(el){el.onpropertychange=null;el.detachEvent("onselect",QxWidget.__oninlineevent);el.detachEvent("onscroll",QxWidget.__oninlineevent);el.detachEvent("onfocus",QxWidget.__oninlineevent);el.detachEvent("onblur",QxWidget.__oninlineevent);};}else {proto._addInlineEvents=function(el){el.addEventListener("select",QxWidget.__oninlineevent,false);el.addEventListener("scroll",QxWidget.__oninlineevent,false);el.addEventListener("focus",QxWidget.__oninlineevent,false);el.addEventListener("blur",QxWidget.__oninlineevent,false);};proto._removeInlineEvents=function(el){el.removeEventListener("select",QxWidget.__oninlineevent,false);el.removeEventListener("scroll",QxWidget.__oninlineevent,false);el.removeEventListener("focus",QxWidget.__oninlineevent,false);el.removeEventListener("blur",QxWidget.__oninlineevent,false);};};QxWidget.__oninlineevent=function(e){if(this._QxWidget){return this._QxWidget._oninlineevent(e);};};proto._oninlineevent=function(e){if(!e){e=window.event;};switch(e.type){case "focus":case "blur":case "select":case "scroll":case "load":break;case "propertychange":break;default:this.debug("Uncatched inline event:"+e.type);};};proto._wasVisible=false;proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){if(!this.isCreated()){this.forceVisible(false);this._createElementWrapper();return true;};if(!this._wasVisible){this.setDisplay(null);this._appendMyself();var vAutoWidth=this._typeof_width=="auto";var vAutoHeight=this._typeof_height=="auto";if(vAutoWidth||vAutoHeight){this._createChildren();if(vAutoWidth){this._setChildrenDependWidth();};if(vAutoHeight){this._setChildrenDependHeight();};this._render("initial");this._wasVisible=true;var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._render("initial");};}else {this._render("initial");this._wasVisible=true;this._createChildren();};this._invalidatePreferred();}else {this.setDisplay(null);if(this._renderHorizontalOmitted){this._renderHorizontal("force");this._renderHorizontalOmitted=false;};if(this._renderVerticalOmitted){this._renderVertical("force");this._renderVerticalOmitted=false;};};this._beforeShow(_b4);this.setVisibility("inherit",_b4);}else {this._beforeHide(_b4);this.setVisibility("hidden",_b4);this.setDisplay("none");};return true;};proto.getChildren=function(){return this._a2;};proto.getChildrenLength=function(){return this.getChildren().length;};proto.hasChildren=function(){return this.getChildrenLength()>0;};proto.getTopLevelWidget=function(){var p=this.getParent();if(p==null){return null;};return p.getTopLevelWidget();};proto.add=function(){var l=arguments.length;var o;for(var i=0;i<l;i++){o=arguments[i];if(!(o instanceof QxWidget)){if(o instanceof Array){var j;for(j=0;j<o.length;j++){this.add(o[j]);};for(j in o){if(o[j]instanceof QxWidget){this.add(o[j]);};};}else {throw new Error("Invalid Widget:"+o);};}else {o.setParent(this);};};return this;};proto.addBefore=function(otherWidget,beforeWidget){if(!(otherWidget instanceof QxWidget)||!(beforeWidget instanceof QxWidget)){throw new Error("Invalid widgets:"+otherWidget+","+beforeWidget);};if(beforeWidget.getParent()!=this){throw new Error("Invalid before widget:"+beforeWidget+". Should be child of same parent!");};if(otherWidget.contains(this)){throw new Error("Could not add me to a child!");};var ch=this.getChildren();var oldLength=ch.length;ch.remove(otherWidget);ch.insertBefore(otherWidget,beforeWidget);this._complexAdd(otherWidget,oldLength);};proto.addAfter=function(otherWidget,afterWidget){if(!(otherWidget instanceof QxWidget)||!(afterWidget instanceof QxWidget)){throw new Error("Invalid widgets:"+otherWidget+","+afterWidget);};if(afterWidget.getParent()!=this){throw new Error("Invalid after widget:"+afterWidget+". Should be child of same parent!");};if(otherWidget.contains(this)){throw new Error("Could not add me to a child!");};var ch=this.getChildren();var oldLength=ch.length;ch.remove(otherWidget);ch.insertAfter(otherWidget,afterWidget);this._complexAdd(otherWidget,oldLength);};proto._complexAdd=function(otherWidget,oldLength){var ch=this._a2;var newLength=ch.length;if(otherWidget.getParent()==this){this.syncChildrenOrder();if(newLength!=oldLength&&newLength==1){this._firstChildCache=otherWidget;this._lastChildCache=otherWidget;if(this.isCreated()&&oldLength>1){this._obtainFirstChild();};if(otherWidget.isCreated()){otherWidget._obtainFirstChildState();};}else {var newFirst=ch[0];if(this._firstChildCache&&this._firstChildCache!=newFirst){var oldFirst=this._firstChildCache;this._firstChildCache=newFirst;if(oldFirst.isCreated()){oldFirst._loseFirstChildState();};if(newFirst.isCreated()){newFirst._obtainFirstChildState();};};var newLast=ch[newLength-1];if(this._lastChildCache&&this._lastChildCache!=newLast){var oldLast=this._lastChildCache;this._lastChildCache=newLast;if(oldLast.isCreated()){oldLast._loseLastChildState();};if(newLast.isCreated()){newLast._obtainLastChildState();};};};}else {otherWidget.setParent(this);this.syncChildrenOrder();};};proto.syncChildrenOrder=function(){if(!this.isCreated()){return;};var ch=this.getChildren().copy();var chl=ch.length;var chc;var che;for(var i=0;i<chl;i++){chc=ch[i];che=chc.getElement();if(chc.isCreated()&&che.parentNode){this._getParentNodeForChild(chc).appendChild(che);};};};proto.remove=function(){var l=arguments.length;var o;for(var i=0;i<l;i++){o=arguments[i];if(!(o instanceof QxWidget)){throw new Error("Invalid Widget:"+o);}else {o.setParent(null);};};};proto.removeAll=function(){var cs=this.getChildren();var co=cs[0];while(co){this.remove(co);co=cs[0];};};proto.contains=function(des){if(des==null){return false;};if(des==this){return true;};return this.contains(des.getParent());};proto.getPreviousSibling=function(){var p=this.getParent();if(p==null){return null;};var cs=p.getChildren();return cs[cs.indexOf(this)-1];};proto.getNextSibling=function(){var p=this.getParent();if(p==null){return null;};var cs=p.getChildren();return cs[cs.indexOf(this)+1];};QxWidget.getActiveSiblingHelperIgnore=function(vIgnoreClasses,vInstance){for(var j=0;j<vIgnoreClasses.length;j++){if(vInstance instanceof vIgnoreClasses[j]){return true;};};return false;};QxWidget.getActiveSiblingHelper=function(vObject,vParent,vCalc,vIgnoreClasses,vMode){if(!vIgnoreClasses){vIgnoreClasses=[];};var vChilds=vParent.getChildren();var vPosition;if(isInvalid(vMode)){vPosition=vChilds.indexOf(vObject)+vCalc;}else {vPosition=vMode=="first"?0:vChilds.length-1;};var vInstance=vChilds[vPosition];while(!vInstance.isEnabled()||QxWidget.getActiveSiblingHelperIgnore(vIgnoreClasses,vInstance)){vPosition+=vCalc;vInstance=vChilds[vPosition];if(!vInstance){return null;};};return vInstance;};proto.getPreviousActiveSibling=function(vIgnoreClasses){var vPrev=QxWidget.getActiveSiblingHelper(this,this.getParent(),-1,vIgnoreClasses,null);return vPrev?vPrev:this.getParent().getLastActiveChild();};proto.getNextActiveSibling=function(vIgnoreClasses){var vMext=QxWidget.getActiveSiblingHelper(this,this.getParent(),1,vIgnoreClasses,null);return vMext?vMext:this.getParent().getFirstActiveChild();};proto.isFirstChild=function(){var pa=this.getParent();if(!pa){return false;};return pa.getFirstChild()==this;};proto.isLastChild=function(){var pa=this.getParent();if(!pa){return false;};return pa.getLastChild()==this;};proto.getFirstActiveChild=function(vIgnoreClasses){return QxWidget.getActiveSiblingHelper(null,this,1,vIgnoreClasses,"first");};proto.getLastActiveChild=function(vIgnoreClasses){return QxWidget.getActiveSiblingHelper(null,this,-1,vIgnoreClasses,"last");};proto._firstChildCache=null;proto._lastChildCache=null;proto.getFirstChild=function(){if(this._firstChildCache==null){var ch=this.getChildren();if(ch.length>0){this._firstChildCache=ch[0];ch[0]._getFirstChildState();};};return this._firstChildCache;};proto.getLastChild=function(){if(this._lastChildCache==null){var ch=this.getChildren();if(ch.length>0){this._lastChildCache=ch[ch.length-1];ch[ch.length-1]._getLastChildState();};};return this._lastChildCache;};proto._pushChild=function(o){var ch=this.getChildren();var chi=ch.indexOf(o);if(chi==-1){ch.push(o);if(ch.length==1){this._firstChildCache=o;this._lastChildCache=o;if(this.isCreated()){this._obtainFirstChild();};}else {if(this._lastChildCache){var oc=this._lastChildCache;this._lastChildCache=o;oc._loseLastChildState();};};}else {if(ch.length==1){this._firstChildCache=o;this._lastChildCache=o;if(this.isCreated()){this._obtainFirstChild();};}else {if(this._lastChildCache&&chi==(ch.length-1)){var oc=this._lastChildCache;this._lastChildCache=o;if(oc.isCreated()){oc._loseLastChildState();};};};};};proto._removeChild=function(o){var ch=this.getChildren();ch.remove(o);if(ch.length==0){this._loseAllChilds();};if(this._firstChildCache==o){if(ch.length>0){this._firstChildCache=ch[0];ch[0]._obtainFirstChildState();}else {this._firstChildCache=null;};o._loseFirstChildState();};if(this._lastChildCache==o){if(ch.length>0){this._lastChildCache=ch[ch.length-1];ch[ch.length-1]._obtainLastChildState();}else {this._lastChildCache=null;};o._loseLastChildState();};};proto._obtainFirstChildState=function(){};proto._obtainLastChildState=function(){};proto._loseFirstChildState=function(){};proto._loseLastChildState=function(){};proto._obtainFirstChild=function(){};proto._loseAllChilds=function(){};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxTarget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);var vClasses=this.getCssClassName();var vDisClassA="QxDisabled";var vDisClassB=this.classname+"Disabled";if(_b1){this.removeHtmlProperty("disabled");this.setCssClassName(vClasses.remove(vDisClassA," ").remove(vDisClassB," "));}else {this.setHtmlProperty("disabled",true);this.setCssClassName(vClasses.add(vDisClassA," ").add(vDisClassB," "));};return true;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vClasses=this.getCssClassName();if(isValidString(_b2)){vClasses=vClasses.remove(this.classname+"-"+_b2.toFirstUp()," ");};if(isValidString(_b1)){vClasses=vClasses.add(this.classname+"-"+_b1.toFirstUp()," ");};this.setCssClassName(vClasses,_b4);this._recalculateFrame();return true;};proto._modifyAppearance=function(_b1,_b2,_b3,_b4){return true;};proto.setHtmlProperty=function(n,v){this._htmlProperties[n]=v;var el=this.getElement();if(el){el[n]=v;};return true;};proto.removeHtmlProperty=function(n){delete this._htmlProperties[n];var el=this.getElement();if(el){el.removeAttribute(n);if((new QxClient).isNotMshtml()){try{delete el[n];}catch(ex){};};};return true;};proto.getHtmlProperty=function(n){var el=this.getElement();return el?el[n]:this._htmlProperties[n];};proto._applyHtmlProperties=function(el){for(var i in this._htmlProperties){el[i]=this._htmlProperties[i];};};proto.setHtmlAttribute=function(n,v){this._htmlAttributes[n]=v;var el=this.getElement();if(el){el.setAttribute(n,v);};return true;};proto.removeHtmlAttribute=function(n){delete this._htmlAttributes[n];var el=this.getElement();if(el){el.removeAttribute(n);};return true;};proto.getHtmlAttribute=function(n){var el=this.getElement();return el?el.getAttribute(n):this._attributes[n];};proto._applyHtmlAttributes=function(el){for(var i in this._htmlAttributes){el.setAttribute(i,this._htmlAttributes[i]);};};proto._evalCurrentStyleProperty=function(_b3){return this.isCreated()?QxDOM.getComputedStyleProperty(this.getElement(),_b3):null;};proto.getStyleProperty=function(_b3){var _b1=this._styleProperties[_b3]||this._evalCurrentStyleProperty(_b3);return isValid(_b1)?_b1:null;};proto.setStyleProperty=function(_b3,_b1,_b4){return this._modifyStyleProperty(_b1,null,_b3,_b4);};proto.removeStyleProperty=function(_b3){delete this._styleProperties[_b3];var el=this.getElement();if(el){el.style[_b3]="";};return true;};proto._modifyStyleProperty=function(_b1,_b2,_b3,_b4){this._styleProperties[_b3]=_b1;try{this.getElement().style[_b3]=isValid(_b1)?_b1:"";}catch(ex){};return true;};proto._modifyFloatStyleProperty=function(_b1,_b2,_b3,_b4){return this._modifyStyleProperty(_b1,_b2,"cssFloat",_b4);};proto._applyStyleProperties=function(el){for(var i in this._styleProperties){el.style[i]=this._styleProperties[i];};};proto.getAnyWidth=function(){var w=this.getWidth();var wu=w=="auto"?null:w;if(!wu&&!this.isCreated()){return 0;};if(this._pixelof_width!=null){wu=Math.max(this._pixelof_width,wu);};return wu||this.getPreferredWidth()||this.getComputedBoxWidth()||0;};proto.getAnyHeight=function(){var h=this.getHeight();var hu=h=="auto"?null:h;if(!hu&&!this.isCreated()){return 0;};if(this._pixelof_height!=null){hu=Math.max(this._pixelof_height,hu);};return hu||this.getPreferredHeight()||this.getComputedBoxHeight()||0;};proto._widthAuto=false;proto._widthMode=null;proto._widthModeValue=null;proto.setWidth=function(_b1,_b4,vMode,vKeepAuto){var _b2=this.getWidth();this._widthMode=isValid(vMode)?vMode:"box";this._widthModeValue=_b1;if(_b1=="auto"){this._widthAuto=true;if(this._wasVisible){return this._setChildrenDependWidth();};}else if(isInvalid(vKeepAuto)){this._widthAuto=false;}else if(vKeepAuto==true){if(!this._widthAuto){throw new Error("Width was not auto previously!:"+_b1);};};this._valueWidth=_b1;this._nullWidth=_b1==null;try{var r=this._modifyHorizontalDimension(_b1,_b2,"width",_b4);if(!r){throw new Error("Failed without exception:width[horizontalDimension|"+r+"]");};}catch(ex){this.debug("Failed to modify property width:"+ex);return false;};if(vKeepAuto){this._valueWidth="auto";this._nullWidth=false;};return _b1;};proto._heightAuto=false;proto._heightMode=null;proto._heightModeValue=null;proto.setHeight=function(_b1,_b4,vMode,vKeepAuto){var _b2=this.getHeight();this._heightMode=isValid(vMode)?vMode:"box";this._heightModeValue=_b1;if(_b1=="auto"){this._heightAuto=true;if(this._wasVisible){return this._setChildrenDependHeight();};}else if(isInvalid(vKeepAuto)){this._heightAuto=false;}else if(vKeepAuto==true){if(!this._heightAuto){throw new Error("Height was not auto previously:"+_b1);};};this._valueHeight=_b1;this._nullHeight=_b1==null;try{var r=this._modifyVerticalDimension(_b1,_b2,"height",_b4);if(!r){throw new Error("Failed without exception:height[verticalDimension|"+r+"]");};}catch(ex){this.debug("Failed to modify property height:"+ex);return false;};if(vKeepAuto){this._valueHeight="auto";this._nullHeight=false;};return _b1;};proto.setBoxWidth=function(_b1,_b4,vKeepAuto){return this.setWidth(_b1,_b4,"box",vKeepAuto);};proto.setAreaWidth=function(_b1,_b4,vKeepAuto){return this.setWidth(_b1,_b4,"area",vKeepAuto);};proto.setInnerWidth=function(_b1,_b4,vKeepAuto){return this.setWidth(_b1,_b4,"inner",vKeepAuto);};proto.setBoxHeight=function(_b1,_b4,vKeepAuto){return this.setHeight(_b1,_b4,"box",vKeepAuto);};proto.setAreaHeight=function(_b1,_b4,vKeepAuto){return this.setHeight(_b1,_b4,"area",vKeepAuto);};proto.setInnerHeight=function(_b1,_b4,vKeepAuto){return this.setHeight(_b1,_b4,"inner",vKeepAuto);};proto._minWidthMode=null;proto._maxWidthMode=null;proto._minHeightMode=null;proto._maxHeightMode=null;proto._minWidthModeValue=null;proto._maxWidthModeValue=null;proto._minHeightModeValue=null;proto._maxHeightModeValue=null;proto.setMinWidth=function(_b1,_b4,vMode){var _b2=this.getMinWidth();this._minWidthMode=isValid(vMode)?vMode:"box";this._minWidthModeValue=_b1;this._valueMinWidth=_b1;this._nullMinWidth=_b1==null;try{var r=this._modifyHorizontalLimitDimension(_b1,_b2,"minWidth",_b4);if(!r){throw new Error("Failed without exception:minWidth[horizontalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto.setMaxWidth=function(_b1,_b4,vMode){var _b2=this.getMinWidth();this._maxWidthMode=isValid(vMode)?vMode:"box";this._maxWidthModeValue=_b1;this._valueMaxWidth=_b1;this._nullMaxWidth=_b1==null;try{var r=this._modifyHorizontalLimitDimension(_b1,_b2,"maxWidth",_b4);if(!r){throw new Error("Failed without exception:maxWidth[horizontalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto.setMinHeight=function(_b1,_b4,vMode){var _b2=this.getMinHeight();this._minHeightMode=isValid(vMode)?vMode:"box";this._minHeightModeValue=_b1;this._valueMinHeight=_b1;this._nullMinHeight=_b1==null;try{var r=this._modifyVerticalLimitDimension(_b1,_b2,"minHeight",_b4);if(!r){throw new Error("Failed without exception:minHeight[verticalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto.setMaxHeight=function(_b1,_b4,vMode){var _b2=this.getMaxHeight();this._maxHeightMode=isValid(vMode)?vMode:"box";this._maxHeightModeValue=_b1;this._valueMaxHeight=_b1;this._nullMaxHeight=_b1==null;try{var r=this._modifyVerticalLimitDimension(_b1,_b2,"maxHeight",_b4);if(!r){throw new Error("Failed without exception:maxHeight[verticalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto._manageHorizontalDimensions=function(_b3,_b1){if(_b1==null){this._usedDimensionsHorizontal.remove(_b3);}else if(this._usedDimensionsHorizontal.contains(_b3)){return;}else if(this._usedDimensionsHorizontal.length==2){throw new Error("List max reached. Unable to add:"+_b3+"("+_b1+")!,List:"+this._usedDimensionsHorizontal);}else {this._usedDimensionsHorizontal.push(_b3);};};proto._manageVerticalDimensions=function(_b3,_b1){if(_b1==null){this._usedDimensionsVertical.remove(_b3);}else if(this._usedDimensionsVertical.contains(_b3)){return;}else if(this._usedDimensionsVertical.length==2){throw new Error("List max reached. Unable to add:"+_b3+"("+_b1+")!,List:"+this._usedDimensionsVertical);}else {this._usedDimensionsVertical.push(_b3);};};proto._render=function(_e5){this._renderHorizontal(_e5);this._renderVertical(_e5);};proto._renderHorizontalRunning=false;proto._renderVerticalRunning=false;proto._renderHorizontalOmit=false;proto._renderVerticalOmit=false;proto._renderHorizontal=function(_e5){return this._renderHelper("horizontal","Horizontal",_e5,"left","width","right","Left","Width","Right","minWidth","maxWidth","MinWidth","MaxWidth");};proto._renderVertical=function(_e5){return this._renderHelper("vertical","Vertical",_e5,"top","height","bottom","Top","Height","Bottom","minHeight","maxHeight","MinHeight","MaxHeight");};proto._omitHorizontalRendering=function(){this._renderHorizontalOmit=true;};proto._activateHorizontalRendering=function(){this._renderHorizontalOmit=false;this._renderHorizontal("activate");};proto._omitVerticalRendering=function(){this._renderVerticalOmit=true;};proto._activateVerticalRendering=function(){this._renderVerticalOmit=false;this._renderVertical("activate");};proto._omitRendering=function(){this._omitHorizontalRendering();this._omitVerticalRendering();};proto._activateRendering=function(){this._activateHorizontalRendering();this._activateVerticalRendering();};proto._renderInitialDone_horizontal=false;proto._renderInitialDone_vertical=false;proto._renderHelper=function(vId,vIdUp,_e5,vNameStart,vNameRange,vNameStop,vNameStartUp,vNameRangeUp,vNameStopUp,vNameRangeMin,vNameRangeMax,vNameRangeMinUp,vNameRangeMaxUp){var vParent=this.getParent();if(vParent==null||!this.isCreated()){return true;};if(!this["_renderInitialDone_"+vId]){_e5="initial";}else if(this["_renderInitialDone_"+vId]&&_e5=="initial"){return true;};if(!vParent["_renderInitialDone_"+vId]&&this["get"+vNameRangeUp]()!="auto"){if(vParent["get"+vNameRangeUp]()!=null||(vParent["get"+vNameStartUp]()!=null&&vParent["get"+vNameStopUp]()!=null)){return true;};};this["_renderInitialDone_"+vId]=true;if(_e5!="initial"&&this._wasVisible&&!this.getVisible()){this["_render"+vIdUp+"Omitted"]=true;return true;};try{switch(_e5){case "initial":case "force":case "parent":case "activate":this._computeDimensionPixelValue(vNameStart,vNameStartUp,vNameRangeUp,vNameStopUp);this._computeDimensionPixelValue(vNameStop,vNameStartUp,vNameRangeUp,vNameStopUp);case "padding":case "border":this._computeDimensionPixelValue(vNameRange,vNameStartUp,vNameRangeUp,vNameStopUp);this._computeDimensionPixelValue(vNameRangeMin,vNameStartUp,vNameRangeUp,vNameStopUp);this._computeDimensionPixelValue(vNameRangeMax,vNameStartUp,vNameRangeUp,vNameStopUp);break;case vNameRangeMin:case vNameRangeMax:if(vParent["get"+vNameRangeUp]()=="auto"){return vParent["_setChildrenDepend"+vNameRangeUp](this);};case vNameStart:case vNameRange:case vNameStop:this._computeDimensionPixelValue(_e5,vNameStartUp,vNameRangeUp,vNameStopUp);break;};var vValueStart=this["_pixelof_"+vNameStart];var vValueRange=this["_pixelof_"+vNameRange];var vValueStop=this["_pixelof_"+vNameStop];var vValueRangeMin=this["_pixelof_"+vNameRangeMin]||-Infinity;var vValueRangeMax=this["_pixelof_"+vNameRangeMax]||Infinity;var vUseStart=vValueStart!=null;var vUseRange=vValueRange!=null;var vUseStop=vValueStop!=null;if((_e5=="initial"||_e5=="parent")&&!vUseStart&&!vUseRange&&!vUseStop&&vValueRangeMin==-Infinity&&vValueRangeMax==Infinity){return true;};var vComputedPosition;var vComputedSize;function limitSize(vValue){return isValidNumber(vValue)?vValue.limit(vValueRangeMin,vValueRangeMax):0;};if(vUseRange){vComputedSize=limitSize(vValueRange);};if(vUseStart){vComputedPosition=vValueStart;if(!vUseRange){if(vUseStop){vComputedSize=limitSize(vParent["getInner"+vNameRangeUp]()-this["getComputedMargin"+vNameStartUp]()-this["getComputedMargin"+vNameStopUp]()-vComputedPosition-vValueStop);}else if(vValueRangeMin>0){vComputedSize=vValueRangeMin;};};}else if(vUseStop){if(!vUseRange){if(!this.getElement().parentNode){return;};vComputedSize=limitSize(this["getPreferred"+vNameRangeUp]());};vComputedPosition=vParent["getInner"+vNameRangeUp]()-this["getComputedMargin"+vNameStartUp]()-this["getComputedMargin"+vNameStopUp]()-vComputedSize-vValueStop;};if(typeof vComputedSize=="undefined"){vComputedSize=null;};if(typeof vComputedPosition=="undefined"){vComputedPosition=null;}else if(isValidNumber(vComputedPosition)&&this._evalCurrentStyleProperty("position")=="absolute"){vComputedPosition+=vParent["getComputedPadding"+vNameStartUp]();};var vPositionChanged=vComputedPosition!=this["_computedLast"+vNameStartUp];var vSizeChanged=vComputedSize!=this["_computedLast"+vNameRangeUp];if(vPositionChanged||vSizeChanged){if(vSizeChanged){try{this["_applySize"+vIdUp](vComputedSize);}catch(ex){this.debug("Failed to apply size:"+vComputedSize);};this["_computedLast"+vNameRangeUp]=vComputedSize;if(this.hasEventListeners("resize")){this.dispatchEvent(new QxEvent("resize"));};if(this.hasEventListeners("resize"+vIdUp)){this.dispatchEvent(new QxEvent("resize"+vIdUp));};this["_inner"+vNameRangeUp+"Changed"]();};if(vPositionChanged){try{this["_d3"+vIdUp](vComputedPosition);}catch(ex){this.debug("Failed to apply position:"+vComputedPosition);};this["_computedLast"+vNameStartUp]=vComputedPosition;if(this.hasEventListeners("move")){this.dispatchEvent(new QxEvent("move"));};if(this.hasEventListeners("move"+vIdUp)){this.dispatchEvent(new QxEvent("move"+vIdUp));};};if(_e5!="initial"){this["_outer"+vNameRangeUp+"Changed"](vPositionChanged&&vSizeChanged?"position-and-size":vPositionChanged?"position":vSizeChanged?"size":"");};};}catch(ex){throw new Error("Could not render "+this+":"+vId+":"+ex);};};if((new QxClient).isMshtml()){proto._d3Horizontal=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("pixelLeft"):this.setStyleProperty("pixelLeft",Math.round(vPosition));};proto._applySizeHorizontal=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("pixelWidth"):this.setStyleProperty("pixelWidth",Math.round(vSize));};proto._d3Vertical=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("pixelTop"):this.setStyleProperty("pixelTop",Math.round(vPosition));};proto._applySizeVertical=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("pixelHeight"):this.setStyleProperty("pixelHeight",Math.round(vSize));};}else {proto._d3Horizontal=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("left"):this.setStyleProperty("left",Math.round(vPosition)+"px");};proto._applySizeHorizontal=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("width"):this.setStyleProperty("width",Math.round(vSize)+"px");};proto._d3Vertical=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("top"):this.setStyleProperty("top",Math.round(vPosition)+"px");};proto._applySizeVertical=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("height"):this.setStyleProperty("height",Math.round(vSize)+"px");};};proto._recalculateFrame=function(_e5){this._recalculateFrameWidth(_e5);this._recalculateFrameHeight(_e5);};proto._recalculateFrameWidth=function(_e5){if(!this._wasVisible){return;};switch(_e5){case "padding":if(this._widthMode=="inner"){return this._renderHorizontal(_e5);};break;case "border":if(this._widthMode=="inner"||this._widthMode=="area"){return this._renderHorizontal(_e5);};};this._innerWidthChanged();};proto._recalculateFrameHeight=function(_e5){if(!this._wasVisible){return;};switch(_e5){case "padding":if(this._heightMode=="inner"){return this._renderVertical(_e5);};break;case "border":if(this._heightMode=="inner"||this._heightMode=="area"){return this._renderVertical(_e5);};};this._innerHeightChanged();};proto._innerWidthChanged=function(){this._d4Width();var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._innerHeightChanged=function(){this._d4Height();var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderVertical("parent");};};proto._outerChanged=function(_e5){this._outerWidthChanged(_e5);this._outerHeightChanged(_e5);};proto._outerWidthChanged=function(_e5){var pa=this.getParent();return pa?pa._childOuterWidthChanged(this,_e5):true;};proto._outerHeightChanged=function(_e5){var pa=this.getParent();return pa?pa._childOuterHeightChanged(this,_e5):true;};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};var w=this.getWidth();if(w=="auto"){return this._setChildrenDependWidth(vModifiedChild,_e5);}else if(w==null||typeof w=="string"){this._lastChildWithInvalidatedPreferredWidth=vModifiedChild;this._invalidatePreferredWidth();};};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};var h=this.getHeight();if(h=="auto"){return this._setChildrenDependHeight(vModifiedChild,_e5);}else if(h==null||typeof h=="string"){this._lastChildWithInvalidatedPreferredHeight=vModifiedChild;this._invalidatePreferredHeight();};};proto._computedlast_position=null;proto._computedlast_size=null;proto._typeof_left=null;proto._typeof_width=null;proto._typeof_right=null;proto._typeof_top=null;proto._typeof_height=null;proto._typeof_bottom=null;proto._typeof_minWidth=null;proto._typeof_maxWidth=null;proto._typeof_minHeight=null;proto._typeof_maxHeight=null;proto._pixelof_left=null;proto._pixelof_width=null;proto._pixelof_right=null;proto._pixelof_top=null;proto._pixelof_height=null;proto._pixelof_bottom=null;proto._pixelof_minWidth=null;proto._pixelof_maxWidth=null;proto._pixelof_minHeight=null;proto._pixelof_maxHeight=null;proto._valueof_left=null;proto._valueof_width=null;proto._valueof_right=null;proto._valueof_top=null;proto._valueof_height=null;proto._valueof_bottom=null;proto._valueof_minWidth=null;proto._valueof_maxWidth=null;proto._valueof_minHeight=null;proto._valueof_maxHeight=null;proto.getPixelOfLeft=function(){return this._pixelof_left;};proto.getPixelOfWidth=function(){return this._pixelof_width;};proto.getPixelOfRight=function(){return this._pixelof_right;};proto.getPixelOfTop=function(){return this._pixelof_top;};proto.getPixelOfHeight=function(){return this._pixelof_height;};proto.getPixelOfBottom=function(){return this._pixelof_bottom;};proto._computeDimensionPixelValue=function(vId,vNameStartUp,vNameRangeUp,vNameStopUp){var pixelKey="_pixelof_"+vId;var valueKey="_valueof_"+vId;switch(this["_typeof_"+vId]){case "pixel":this[pixelKey]=this[valueKey];break;case "percent":this[pixelKey]=this._toPercent(this[valueKey],this.getParent()["getInner"+vNameRangeUp]());break;default:this[pixelKey]=null;return;};switch(vId){case "width":case "height":case "minWidth":case "maxWidth":case "minHeight":case "maxHeight":switch(this["_"+vId+"Mode"]){case "inner":this[pixelKey]+=this["getComputedPadding"+vNameStartUp]()+this["getComputedPadding"+vNameStopUp]();case "area":this[pixelKey]+=this["getComputedBorder"+vNameStartUp]()+this["getComputedBorder"+vNameStopUp]();};};};proto._computeDimensionType=function(_b1){switch(typeof _b1){case "number":return "pixel";case "string":if(_b1=="auto"){return "auto";}else if (/^([0-9\.]+)%$/.test(_b1)){return "percent";};break;case "object":if(_b1==null){return null;};};throw new Error("Invalid value:"+_b1);};proto._toPercent=function(_b1,vFullWidth){return Math.round(vFullWidth*parseFloat(_b1)/100);};proto._modifyHorizontalDimension=function(_b1,_b2,_b3,_b4){this._manageHorizontalDimensions(_b3,_b1);return this._modifyHorizontalHelper(_b1,_b3);};proto._modifyHorizontalLimitDimension=function(_b1,_b2,_b3,_b4){return this._modifyHorizontalHelper(_b1,_b3);};proto._modifyHorizontalHelper=function(_b1,_b3){this["_typeof_"+_b3]=this._computeDimensionType(_b1);this["_valueof_"+_b3]=_b1;this._renderHorizontal(_b3);return true;};proto._modifyVerticalDimension=function(_b1,_b2,_b3,_b4){this._manageVerticalDimensions(_b3,_b1);return this._modifyVerticalHelper(_b1,_b3);};proto._modifyVerticalLimitDimension=function(_b1,_b2,_b3,_b4){return this._modifyVerticalHelper(_b1,_b3);};proto._modifyVerticalHelper=function(_b1,_b3){this["_typeof_"+_b3]=this._computeDimensionType(_b1);this["_valueof_"+_b3]=_b1;this._renderVertical(_b3);return true;};proto._setChildrenDependWidth=function(_e4,_e5){var newWidth=this._d5Width(_e4,_e5);if(newWidth!=null){this.setWidth(newWidth,null,"inner",true);}else {this.setWidth(null,null,"box",true);};return true;};proto._d5Width=function(_e4,_e5){return this._d5Helper(_e4,_e5,"_dependWidthCache","left","width","right");};proto._setChildrenDependHeight=function(_e4,_e5){var newHeight=this._d5Height(_e4,_e5);if(newHeight!=null){this.setHeight(newHeight,null,"inner",true);}else {this.setHeight(null,null,"box",true);};return true;};proto._d5Height=function(_e4,_e5){return this._d5Helper(_e4,_e5,"_dependHeightCache","top","height","bottom");};proto._compareDependSize=function(d1,d2){return d2.size-d1.size;};proto._dependWidthCache=null;proto._dependHeightCache=null;proto._d5Helper=function(_e4,_e5,vCache,vStart,vRange,vStop){if(this[vCache]==null||this[vCache].length==0){var vChildren=this.getChildren();var vChildrenLength=vChildren.length;if(vChildrenLength==0){return null;};var vDependCache=this[vCache]=[];var vCurrentChild;var vCurrentNeeded;for(var i=0;i<vChildrenLength;i++){vCurrentChild=vChildren[i];if(vCurrentChild._wasVisible){vCurrentNeeded=vCurrentChild._computeNeededSize(vStart,vRange,vStop);vDependCache.push({widget:vCurrentChild,size:vCurrentNeeded?vCurrentNeeded:0});};};vDependCache.sort(this._compareDependSize);}else {if(!_e4&&this._wasVisible){if(vRange=="height"&&this._lastChildWithInvalidatedPreferredHeight){_e4=this._lastChildWithInvalidatedPreferredHeight;this._lastChildWithInvalidatedPreferredHeight=null;}else if(vRange=="width"&&this._lastChildWithInvalidatedPreferredWidth){_e4=this._lastChildWithInvalidatedPreferredWidth;this._lastChildWithInvalidatedPreferredWidth=null;};};if(_e4&&_e4!=this){var vDependCache=this[vCache];var vDependCacheLength=vDependCache.length;var vChildFound=false;var vCurrentNeeded;if(_e5!="add"){for(var i=0;i<vDependCacheLength;i++){if(vDependCache[i].widget==_e4){if(_e4.getParent()==this){vCurrentNeeded=_e4._computeNeededSize(vStart,vRange,vStop);vDependCache[i].size=vCurrentNeeded?vCurrentNeeded:0;}else {vDependCache.splice(i,1);};vChildFound=true;break;};};};if(_e5=="add"||!vChildFound){if(_e4.getParent()==this){vCurrentNeeded=_e4._computeNeededSize(vStart,vRange,vStop);vDependCache.push({widget:_e4,size:vCurrentNeeded?vCurrentNeeded:0});}else {throw new Error("No change while recalculating the dependCache!");};};vDependCache.sort(this._compareDependSize);}else {var vDependCache=this[vCache];};};return vDependCache.length>0?vDependCache[0].size:null;};proto._computeNeededSize=function(vNameStart,vNameRange,vNameStop){var vNameStartUp=vNameStart.toFirstUp();var vNameRangeUp=vNameRange.toFirstUp();var vNameStopUp=vNameStop.toFirstUp();var vTypeStart=this["_typeof_"+vNameStart];var vTypeRange=this["_typeof_"+vNameRange];var vTypeStop=this["_typeof_"+vNameStop];var vMinRangeValue=this["getMin"+vNameRangeUp]();var vMaxRangeValue=this["getMax"+vNameRangeUp]();var vMarginStart=this["getComputedMargin"+vNameStartUp]();var vMarginStop=this["getComputedMargin"+vNameStopUp]();var neededForMargin=vMarginStart+vMarginStop;if(vTypeRange=="percent"){var sizePreferred=this["getPreferred"+vNameRangeUp]();var sizeLimit=sizePreferred.limit(vMinRangeValue,vMaxRangeValue);var sizeProcent=parseFloat(this["get"+vNameRangeUp]());var neededInner=Math.ceil(sizeLimit/sizeProcent*100);return neededInner+neededForMargin;}else if(vTypeStart=="percent"&&vTypeStop=="percent"){var sizePreferred=this["getPreferred"+vNameRangeUp]();var sizeLimit=sizePreferred.limit(vMinRangeValue,vMaxRangeValue);var percentRemain=100-parseFloat(this["get"+vNameStartUp]())-parseFloat(this["get"+vNameStopUp]());var neededInner=Math.ceil(sizeLimit/percentRemain*100);return neededInner+neededForMargin;}else {var neededForSize=null;if(vTypeRange=="pixel"){this._computeDimensionPixelValue(vNameRange,vNameStartUp,vNameRangeUp,vNameStopUp);neededForSize=this["_pixelof_"+vNameRange];};if(neededForSize==null){var neededForSize=this["getPreferred"+vNameRangeUp]();};if(neededForSize==null){return;};neededForSize=neededForSize.limit(vMinRangeValue,vMaxRangeValue);if(vTypeStart=="percent"){var stopNeededSize=vTypeStop=="pixel"?this["get"+vNameStopUp]():0;var otherNeededSize=neededForSize+stopNeededSize;var percentRemain=100-parseFloat(this["get"+vNameStartUp]());var neededInner=Math.ceil(otherNeededSize/percentRemain*100);return neededInner+neededForMargin;}else if(vTypeStop=="percent"){var startNeededSize=vTypeStart=="pixel"?this["get"+vNameStartUp]():0;var otherNeededSize=neededForSize+startNeededSize;var percentRemain=100-parseFloat(this["get"+vNameStopUp]());var neededInner=Math.ceil(otherNeededSize/percentRemain*100);return neededInner+neededForMargin;}else {var neededForPosition=0;if(vTypeStart=="pixel"){neededForPosition+=this["get"+vNameStartUp]();};if(vTypeStop=="pixel"){neededForPosition+=this["get"+vNameStopUp]();};var neededInner=neededForSize+neededForPosition;return neededInner+neededForMargin;};};};QxWidget._domConnector=function(){var tpropsmargin="marginLeft,marginTop,marginRight,marginBottom";var tpropspadding="paddingLeft,paddingTop,paddingRight,paddingBottom";var tpropsborder="borderLeft,borderTop,borderRight,borderBottom";var tprops=tpropsmargin+","+tpropspadding+","+tpropsborder;var tdimsouter="outerWidth,outerHeight";var tdimsbox="boxWidth,boxHeight";var tdimsarea="areaWidth,areaHeight";var tdimsinner="innerWidth,innerHeight";var tdims=tdimsouter+","+tdimsbox+","+tdimsarea+","+tdimsinner;var tinsets="insetLeft,insetTop,insetRight,insetBottom";var tscrolls="scrollBarSizeLeft,scrollBarSizeTop,scrollBarSizeRight,scrollBarSizeBottom,scrollBarVisibleX,scrollBarVisibleY";var tcposouter="clientOuterLeft,clientOuterTop,clientOuterRight,clientOuterBottom";var tcposbox="clientBoxLeft,clientBoxTop,clientBoxRight,clientBoxBottom";var tcposarea="clientAreaLeft,clientAreaTop,clientAreaRight,clientAreaBottom";var tcposinner="clientInnerLeft,clientInnerTop,clientInnerRight,clientInnerBottom";var tcpos=tcposouter+","+tcposbox+","+tcposarea+","+tcposinner;var tpposouter="pageOuterLeft,pageOuterTop,pageOuterRight,pageOuterBottom";var tpposbox="pageBoxLeft,pageBoxTop,pageBoxRight,pageBoxBottom";var tpposarea="pageAreaLeft,pageAreaTop,pageAreaRight,pageAreaBottom";var tpposinner="pageInnerLeft,pageInnerTop,pageInnerRight,pageInnerBottom";var tppos=tpposouter+","+tpposbox+","+tpposarea+","+tpposinner;var tscreenouter="screenOuterLeft,screenOuterTop,screenOuterRight,screenOuterBottom";var tscreenbox="screenBoxLeft,screenBoxTop,screenBoxRight,screenBoxBottom";var tscreenarea="screenAreaLeft,screenAreaTop,screenAreaRight,screenAreaBottom";var tscreeninner="screenInnerLeft,screenInnerTop,screenInnerRight,screenInnerBottom";var tscreen=tscreenouter+","+tscreenbox+","+tscreenarea+","+tscreeninner;var tall=tprops+","+tdims+","+tinsets+","+tscrolls+","+tcpos+","+tppos+","+tscreen;var tarr=tall.split(",");for(var i=0;i<tarr.length;i++){var tname="getComputed"+tarr[i].toFirstUp();proto[tname]=new Function("var el=this.getElement();return QxDOM."+tname+"(el);");};};QxWidget._domConnector();proto.setScrollLeft=function(nScrollLeft){if(!this.isCreated()){return;};this.getElement().scrollLeft=nScrollLeft;};proto.setScrollTop=function(nScrollTop){if(!this.isCreated()){return;};this.getElement().scrollTop=nScrollTop;};proto.getOffsetLeft=function(){if(!this.isCreated()){return;};return QxDOM.getOffsetLeft(this.getElement());};proto.getOffsetTop=function(){if(!this.isCreated()){return;};return QxDOM.getOffsetTop(this.getElement());};proto.getScrollLeft=function(){if(!this.isCreated()){return;};return this.getElement().scrollLeft;};proto.getScrollTop=function(){if(!this.isCreated()){return;};return this.getElement().scrollTop;};proto.getClientWidth=function(){if(!this.isCreated()){return;};return this.getElement().clientWidth;};proto.getClientHeight=function(){if(!this.isCreated()){return;};return this.getElement().clientHeight;};proto.getOffsetWidth=function(){if(!this.isCreated()){return;};return this.getElement().offsetWidth;};proto.getOffsetHeight=function(){if(!this.isCreated()){return;};return this.getElement().offsetHeight;};proto._preferred_width=null;proto._preferred_height=null;proto._invalidatePreferred=function(){this._preferred_width=this._preferred_height=null;var pa=this.getParent();if(pa){pa._a2PreferredInvalidated(this);};};proto._invalidatePreferredWidth=function(){this._preferred_width=null;var pa=this.getParent();if(pa){pa._a2PreferredWidthInvalidated(this);};};proto._invalidatePreferredHeight=function(){this._preferred_height=null;var pa=this.getParent();if(pa){pa._a2PreferredHeightInvalidated(this);};};proto._calculatePreferredDimensions=function(){try{return QxDOM.getComputedPreferredSize(this.getElement());}catch(ex){throw new Error("Calculation of preferred width/height(of "+this+")failed:"+ex);};};proto.getPreferredWidth=function(){if(this.getWidth()=="auto"){if(!this._wasVisible){this._renderHorizontal("initial");};return this._pixelof_width;};if(this._preferred_width==null){if(this.getChildrenLength()>0){this._preferred_width=this._d5Width()+this.getComputedPaddingLeft()+this.getComputedPaddingRight()+this.getComputedInsetLeft()+this.getComputedInsetRight();}else {var r=this._calculatePreferredDimensions();this._preferred_width=r.width;this._preferred_height=r.height;};};return this._preferred_width;};proto.getPreferredHeight=function(){if(this.getHeight()=="auto"){if(!this._wasVisible){this._renderVertical("initial");};return this._pixelof_height;};if(this._preferred_height==null){if(this.getChildrenLength()>0){this._preferred_height=this._d5Height()+this.getComputedPaddingTop()+this.getComputedPaddingBottom()+this.getComputedInsetTop()+this.getComputedInsetBottom();}else {var r=this._calculatePreferredDimensions();this._preferred_width=r.width;this._preferred_height=r.height;};};return this._preferred_height;};proto.pack=function(){this.setWidth(this.getPreferredWidth());this.setHeight(this.getPreferredHeight());};proto._a2PreferredInvalidated=function(_e4){this._a2PreferredWidthInvalidated(_e4);this._a2PreferredHeightInvalidated(_e4);};proto._lastChildWithInvalidatedPreferredHeight=null;proto._lastChildWithInvalidatedPreferredWidth=null;proto._a2PreferredWidthInvalidated=function(_e4){if(!this._wasVisible){return;};this._lastChildWithInvalidatedPreferredWidth=_e4;if(this.getWidth()=="auto"){this._setChildrenDependWidth(_e4,"preferred");}else {this._invalidatePreferredWidth(_e4);};};proto._a2PreferredHeightInvalidated=function(_e4){if(!this._wasVisible){return;};this._lastChildWithInvalidatedPreferredHeight=_e4;if(this.getHeight()=="auto"){this._setChildrenDependHeight(_e4,"preferred");}else {this._invalidatePreferredHeight(_e4);};};proto._inner_width=null;proto._inner_height=null;proto._d4=function(){this._inner_width=this._inner_height=null;};proto._d4Width=function(){this._inner_width=null;};proto._d4Height=function(){this._inner_height=null;};proto.getInnerWidth=function(){if(this._inner_width==null){this._inner_width=this.getComputedInnerWidth();};return this._inner_width;};proto.getInnerHeight=function(){if(this._inner_height==null){this._inner_height=this.getComputedInnerHeight();};return this._inner_height;};proto._modifyPaddingHorizontal=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._recalculateFrameWidth("padding");this._invalidatePreferredWidth();return true;};proto._modifyPaddingVertical=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._recalculateFrameHeight("padding");this._invalidatePreferredHeight();return true;};proto._modifyMarginHorizontal=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._outerWidthChanged("margin");return true;};proto._modifyMarginVertical=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._outerHeightChanged("margin");return true;};QxWidget.cssLikeShortHandService=function(params){var l=params.length;if(l>4){throw new Error("Invalid number of arguments!");};var v;var forceList=new Array();var styleList=new Array();for(var i=0;i<l;i++){v=params[i];if(isValidNumber(v)){forceList.push(v);styleList.push(Math.round(v)+"px");}else if(v==""||v==null){forceList.push(null);styleList.push("");}else {throw new Error("Invalid shorthand value:"+v);};};switch(l){case 1:forceList[1]=forceList[2]=forceList[3]=forceList[0];styleList[1]=styleList[2]=styleList[3]=styleList[0];break;case 2:forceList[2]=forceList[0];styleList[2]=styleList[0];case 3:forceList[3]=forceList[1];styleList[3]=styleList[1];};return[forceList,styleList];};proto.setPadding=function(){try{var r=QxWidget.cssLikeShortHandService(arguments);}catch(ex){throw new Error("Invalid value for padding:"+ex);};var forceList=r[0];var styleList=r[1];this.forcePaddingTop(forceList[0]);this.forcePaddingRight(forceList[1]);this.forcePaddingBottom(forceList[2]);this.forcePaddingLeft(forceList[3]);this.setStyleProperty("paddingTop",styleList[0]);this.setStyleProperty("paddingRight",styleList[1]);this.setStyleProperty("paddingBottom",styleList[2]);this.setStyleProperty("paddingLeft",styleList[3]);this._recalculateFrame("padding");this._invalidatePreferred();return true;};proto.setMargin=function(){try{var r=QxWidget.cssLikeShortHandService(arguments);}catch(ex){throw new Error("Invalid value for margin:"+ex);};var forceList=r[0];var styleList=r[1];this.forceMarginTop(forceList[0]);this.forceMarginRight(forceList[1]);this.forceMarginBottom(forceList[2]);this.forceMarginLeft(forceList[3]);this.setStyleProperty("marginTop",styleList[0]);this.setStyleProperty("marginRight",styleList[1]);this.setStyleProperty("marginBottom",styleList[2]);this.setStyleProperty("marginLeft",styleList[3]);this._outerChanged("margin");return true;};proto.setEdge=function(){try{var r=QxWidget.cssLikeShortHandService(arguments);}catch(ex){throw new Error("Invalid value for edge:"+ex);};var forceList=r[0];this._omitRendering();this.setWidth(null);this.setHeight(null);this.setTop(forceList[0]);this.setRight(forceList[1]);this.setBottom(forceList[2]);this.setLeft(forceList[3]);this._activateRendering();return true;};proto.canGetFocus=function(){return this.isCreated()&&this.getTabIndex()>=0&&this.isEnabled();};proto.isFocusRoot=function(){return false;};proto._ontabfocus=function(){};proto._modifyFocused=function(_b1,_b2,_b3,_b4){if(!this.isCreated()){return true;};if(_b1){this.getTopLevelWidget().getFocusManager().setFocusedWidget(this,_b4);this._visualizeFocus();}else {this.getTopLevelWidget().getFocusManager().setFocusedWidget(null,_b4);this._visualizeBlur();};return true;};if((new QxClient).isOpera()){proto.repaint=function(){var d=this.getTopLevelWidget().getDocumentElement();var z=d.createElement("div");z.style.height=(d.body.offsetHeight)+"px";z.style.width=(d.body.offsetWidth)+"px";z.style.top="0px";z.style.left="0px";z.style.position="absolute";z.style.backgroundColor="blue";z.style.zIndex="100000000000000";d.body.appendChild(z);var el=this.getElement();var t=el.style.top;var l=el.style.left;el.style.top=(this.getComputedPageBoxTop()-5)+"px";el.style.left=(this.getComputedPageBoxLeft()-5)+"px";el.style.top=t;el.style.left=l;d.body.removeChild(z);};}else {proto.repaint=function(){};};if((new QxClient).isOpera()){proto._visualizeBlur=function(){this.setCssClassName(this.getCssClassName().remove("QxFocused"," ").remove(this.classname+"-Focused"," "));try{this.getElement().blur();}catch(ex){};this.repaint();return true;};proto._visualizeFocus=function(){this.setCssClassName(this.getCssClassName().add("QxFocused"," ").add(this.classname+"-Focused"," "));try{this.getElement().focus();}catch(ex){};this.repaint();return true;};}else {proto._visualizeBlur=function(){this.setCssClassName(this.getCssClassName().remove("QxFocused"," ").remove(this.classname+"-Focused"," "));try{this.getElement().blur();}catch(ex){};return true;};proto._visualizeFocus=function(){this.setCssClassName(this.getCssClassName().add("QxFocused"," ").add(this.classname+"-Focused"," "));try{this.getElement().focus();}catch(ex){};return true;};};proto._modifyCapture=function(_b1,_b2,_b3,_b4){if(_b2){this.getTopLevelWidget().getEventManager().setCaptureWidget(null,_b4);}else if(_b1){this.getTopLevelWidget().getEventManager().setCaptureWidget(this,_b4);};return true;};if((new QxClient).isMshtml()){proto._modifyTabIndex=function(_b1,_b2,_b3,_b4){this.setHtmlProperty("unselectable",_b1<0||!this.getEnabled());this.setHtmlProperty("tabIndex",_b1<0?-1:1);return true;};}else if((new QxClient).isGecko()){proto._modifyTabIndex=function(_b1,_b2,_b3,_b4){this.setStyleProperty("MozUserFocus",_b1<0?"ignore":"normal");this.setStyleProperty("userFocus",_b1<0?"ignore":"normal");return true;};}else {proto._modifyTabIndex=function(_b1,_b2,_b3,_b4){this.setStyleProperty("userFocus",_b1<0?"ignore":"normal");this.setHtmlProperty("tabIndex",_b1<0?-1:1);return true;};};proto._modifyCssClassName=function(_b1,_b2,_b3,_b4){this.setHtmlProperty("className",_b1);return true;};proto._evalCssClassName=function(){var v1=this.getHtmlProperty("className");if(typeof v1=="string"&&v1!="")return v1;else return this.classname;};proto._addCssClassName=function(_b1){this.setCssClassName(this.getCssClassName().add(_b1," "));};proto._removeCssClassName=function(_b1){this.setCssClassName(this.getCssClassName().remove(_b1," "));};proto.addCssClassNameDetail=function(_b1){this._addCssClassName(this.classname+"-"+_b1.toFirstUp());};proto.removeCssClassNameDetail=function(_b1){this._removeCssClassName(this.classname+"-"+_b1.toFirstUp());};proto.getWidgetFromPoint=function(x,y){var ret=this.getWidgetFromPointHelper(x,y);return ret&&ret!=this?ret:null;};proto.getWidgetFromPointHelper=function(x,y){var ch=this.getChildren();for(var chl=ch.length,i=0;i<chl;i++){if(ch[i].isCreated()&&QxDOM.getElementAbsolutePointChecker(ch[i].getElement(),x,y)){return ch[i].getWidgetFromPointHelper(x,y);};};return this;};proto.scrollIntoView=function(){if(!this.isCreated()){return;};this.scrollIntoViewX();this.scrollIntoViewY();};proto.scrollIntoViewX=function(){if(!this.isCreated()){return;};var p=this.getParent();if(!p){return;};var l=this.getOffsetLeft();var w=this.getOffsetWidth();var sl=p.getScrollLeft();var cw=p.getComputedAreaWidth();if(w>cw||l<sl){p.setScrollLeft(l);}else if(l+w>sl+cw){p.setScrollLeft(l+w-cw);};};proto.scrollIntoViewY=function(){if(!this.isCreated()){return;};var p=this.getParent();if(!p){return;};var t=this.getOffsetTop();var h=this.getOffsetHeight();var st=p.getScrollTop();var ch=p.getClientHeight();if(h>ch||t<st){p.setScrollTop(t);}else if(t+h>st+ch){p.setScrollTop(t+h-ch);};};if((new QxClient).isMshtml()){proto._modifyCanSelect=function(_b1,_b2,_b3,_b4){return _b1?this.removeHtmlProperty("unselectable"):this.setHtmlProperty("unselectable","on");};proto._evalCanSelect=function(_b3){var v=this.getHtmlProperty("unselectable");return v!="on"||v==null;};}else if((new QxClient).isGecko()){proto._modifyCanSelect=function(_b1,_b2,_b3,_b4){if(_b1){this.removeStyleProperty("MozUserSelect");this.removeStyleProperty("userSelect");}else {this.setStyleProperty("MozUserSelect","none");this.setStyleProperty("userSelect","none");};return true;};proto._evalCanSelect=function(_b3){var v=(new QxClient).isGecko()?this.getStyleProperty("MozUserSelect"):null;var v=v==null?this.getStyleProperty("userSelect"):v;return v!="none"||v==null;};}else {proto._modifyCanSelect=function(_b1,_b2,_b3,_b4){return _b1?this.removeStyleProperty("userSelect"):this.setStyleProperty("userSelect","none");};proto._evalCanSelect=function(_b3){throw new Error("_evalCanSelect is not implemented for this client!");};};if((new QxClient).isMshtml()){proto._modifyOpacity=function(_b1,_b2,_b3,_b4){if(_b1==null||_b1>1){this.removeStyleProperty("filter");}else if(isValidNumber(_b1)){this.setStyleProperty("filter","Alpha(Opacity="+Math.round(_b1.limit(0,1)*100)+")");}else {throw new Error("Unsupported opacity value:"+_b1);};return true;};proto._evalOpacity=function(){var o=this.getStyleProperty("filter");if(o==null||o==""){return 1;};var re = /Alpha\(Opacity=([0-9]{1,3})\)/;if(!re.test(o)){return 1;};return parseInt(RegExp.$1)/100;};}else {proto._modifyOpacity=function(_b1,_b2,_b3,_b4){if(_b1==null||_b1>1){if((new QxClient).isGecko()){this.removeStyleProperty("MozOpacity");}else if((new QxClient).isKhtml()){this.removeStyleProperty("KhtmlOpacity");};this.removeStyleProperty("opacity");}else if(isValidNumber(_b1)){_b1=_b1.limit(0,1);if((new QxClient).isGecko()){this.setStyleProperty("MozOpacity",_b1);}else if((new QxClient).isKhtml()){this.setStyleProperty("KhtmlOpacity",_b1);};this.setStyleProperty("opacity",_b1);};return true;};proto._evalOpacity=function(){var o=(new QxClient).isGecko()?this.getStyleProperty("MozOpacity"):(new QxClient).isKhtml()?this.getStyleProperty("KhtmlOpacity"):null;var o=o==null||o==""?this.getStyleProperty("opacity"):o;if(o==null||o==""){return 1;};return parseFloat(o);};};proto._modifyCursor=function(_b1,_b2,_b3,_b4){return this.setStyleProperty("cursor",_b1=="pointer"&&(new QxClient).isMshtml()?"hand":_b1);};proto._evalCursor=function(){var c=this.getStyleProperty("cursor");return c=="hand"?"pointer":c;};proto._modifyBackgroundImage=function(_b1,_b2,_b3,_b4){if(_b1==""||_b1=="null"){this.removeStyleProperty("backgroundImage");}else {this.setStyleProperty("backgroundImage","url("+(new QxImageManager).buildURI(_b1)+")");};return true;};proto._evalBackgroundImage=function(){var s=this.getStyleProperty("backgroundImage");return isInvalid(s) ? "" : s.replace(/^url\(/i, "").replace(/\)$/, "");};proto._modifyClip=function(_b1,_b2,_b3,_b4){if(_b1){try{var r=QxWidget.cssLikeShortHandService(_b1);}catch(ex){throw new Error("Invalid value for clip:"+ex);};r=r[1];this.setStyleProperty("clip","rect("+r[0]+","+r[1]+","+r[2]+","+r[3]+")");}else {this.removeStyleProperty("clip");};return true;};proto._modifyOverflow=function(_b1,_b2,_b3,_b4){var pv=_b1;var pn=_b3;if((new QxClient).isGecko()){switch(pv){case "hidden":pv="-moz-scrollbars-none";break;case "scrollX":pv="-moz-scrollbars-horizontal";break;case "scrollY":pv="-moz-scrollbars-vertical";break;};}else if((new QxClient).isMshtml()){switch(pv){case "scrollX":pn="overflowX";pv="scroll";break;case "scrollY":pn="overflowY";pv="scroll";break;};var a=["overflow","overflowX","overflowY"];for(var i=0;i<a.length;i++){if(a[i]!=pn){this.removeStyleProperty(a[i]);};};}else {switch(pv){case "scrollX":case "scrollY":pv="scroll";break;};};return this.setStyleProperty(pn,pv);};proto._evalOverflow=function(){var pv=this.getStyleProperty("overflow");if((new QxClient).isGecko()){switch(pv){case "-moz-scrollbars-none":pv="hidden";break;case "-moz-scrollbars-horizontal":pv="scrollX";break;case "-moz-scrollbars-vertical":pv="scrollY";break;};}else if((new QxClient).isMshtml()){var pvx=this.getStyleProperty("overflowX");var pvy=this.getStyleProperty("overflowY");if(pvx==pvy=="scroll"){pv="scroll";}else if(pvx=="scroll"){pv="scrollX";}else if(pvy=="scroll"){pv="scrollY";};};return pv;};proto._modifyBorder=function(_b1,_b2,_b3,_b4){if(_b2){_b2.removeWidget(this);};if(_b1){_b1.addWidget(this);};this._recalculateFrame("border");this._invalidatePreferred();return true;};proto.dispose=function(){if(this.getDisposed()){return;};var ch=this._a2;if(isValid(this._a2)){var chl=ch.length;for(var i=chl-1;i>=0;i--){this._a2[i].dispose();delete this._a2[i];};delete this._a2;};try{this.getElement()._QxWidget=null;}catch(ex){};delete this._usedDimensionsHorizontal;delete this._usedDimensionsVertical;QxTarget.prototype.dispose.call(this);for(var i in this._styleProperties){delete this._styleProperties[i];};delete this._styleProperties;for(var i in this._htmlProperties){delete this._htmlProperties[i];};delete this._htmlProperties;for(var i in this._htmlAttributes){delete this._htmlAttributes[i];};delete this._htmlAttributes;return true;};proto._clonePropertyIgnoreList="parent,element,visible,display,visibility,boxPrefHeight,boxPrefWidth";proto.clone=function(cloneRecursive,customPropertyList){var cloneInstance=new this.constructor;var propertyName;var propertyList=[];var propertyIngoreList=this._clonePropertyIgnoreList.split(",");var sourcePropertyList=isValid(customPropertyList)?customPropertyList:this._i1.split(",");var sourcePropertyListLength=sourcePropertyList.length-1;do{propertyName=sourcePropertyList[sourcePropertyListLength];if(!propertyIngoreList.contains(propertyName)){propertyList.push(propertyName);};}while(sourcePropertyListLength--);propertyListLength=propertyList.length-1;do{propertyName=propertyList[propertyListLength].toFirstUp();cloneInstance["set"+propertyName](this["get"+propertyName]());}while(propertyListLength--);if(sourcePropertyList.contains("parent")){var myParent=this.getParent();if(myParent){cloneInstance.setParent(myParent);};};if(sourcePropertyList.contains("visibility")){cloneInstance.setVisibility(this.getVisibility());};if(sourcePropertyList.contains("display")){cloneInstance.setDisplay(this.getDisplay());};if(cloneRecursive){this._cloneRecursive(cloneInstance);};return cloneInstance;};proto._cloneRecursive=function(cloneInstance){var ch=this.getChildren();var chl=ch.length;var cloneChild;for(var i=0;i<chl;i++){cloneChild=ch[i].clone(true);cloneInstance.add(cloneChild);};};proto.execute=function(){var vCommand=this.getCommand();if(vCommand){vCommand.execute(this);};if(this.hasEventListeners("execute")){this.dispatchEvent(new QxEvent("execute"));};if(this.hasEventListeners("action")){this.dispatchEvent(new QxEvent("action"));};};function QxBlocker(){QxWidget.call(this);this.setLocation(0,0);this.setRight(0);this.setBottom(0);this.setZIndex(1e6);if((new QxClient).isMshtml()){this.setBackgroundImage((new QxImageManager).getBlank());};};QxBlocker.extend(QxWidget,"QxBlocker");function QxClientDocument(clientWindow){QxWidget.call(this);this._window=clientWindow;this._document=this._window.getElement().document;this.setElement(this._document.body);this._lastBodyWidth=this._document.body.offsetWidth;this._lastBodyHeight=this._document.body.offsetHeight;this.addEventListener("resize",this._onresize);this.setTheme(this._themes[0]);this.setTabIndex(1);this._blocker=new QxBlocker;this._modalWidgets=[];this._modalNativeWindow=null;this._blocker.addEventListener("mousedown",function(e){if(this._modalNativeWindow){this._modalNativeWindow.focus();};},this);this._blocker.addEventListener("mouseup",function(e){if(this._modalNativeWindow){this._modalNativeWindow.focus();};},this);};QxClientDocument.extend(QxWidget,"QxClientDocument");QxClientDocument.addProperty({name:"theme",type:String});QxClientDocument.addProperty({name:"globalCursor",type:String});proto._renderInitialDone_horizontal=true;proto._renderInitialDone_vertical=true;proto._childOuterWidthChanged=function(vModifiedChild,_e5){};proto._childOuterHeightChanged=function(vModifiedChild,_e5){};proto._modifyParent=function(){return true;};proto._modifyVisible=function(){return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(!_b1){throw new Error("QxClientDocument does not accept invalid elements!");};_b1._QxWidget=this;this._applyStyleProperties(_b1,_b4);this._applyHtmlProperties(_b1,_b4);this._applyHtmlAttributes(_b1,_b4);this.setVisible(true,_b4);return true;};proto.getWindow=function(){return this._window;};proto.getTopLevelWidget=function(){return this;};proto.getDocumentElement=function(){return this._document;};proto.getEventManager=function(){return this._window.getEventManager();};proto.getFocusManager=function(){return this._window.getFocusManager();};proto._createElement=proto.createElementWrapper=function(){return true;};proto.isCreated=function(){return true;};proto.isFocusRoot=function(){return true;};proto.getFocusRoot=function(){return this;};proto.getToolTip=function(){return null;};proto.getParent=function(){return null;};proto.canGetFocus=function(){return true;};proto._visualizeBlur=function(){};proto._visualizeFocus=function(){};proto.block=function(activeWidget){this.add(this._blocker);if(typeof QxWindow=="function"&&activeWidget instanceof QxWindow){this._modalWidgets.push(activeWidget);var o=activeWidget.getZIndex();this._blocker.setZIndex(o);activeWidget.setZIndex(o+1);}else if(activeWidget instanceof QxNativeWindow){this._modalNativeWindow=activeWidget;this._blocker.setZIndex(1e7);};};proto.release=function(activeWidget){if(activeWidget){if(activeWidget instanceof QxNativeWindow){this._modalNativeWindow=null;}else {this._modalWidgets.remove(activeWidget);};};var l=this._modalWidgets.length;if(l==0){this.remove(this._blocker);}else {var oldActiveWidget=this._modalWidgets[l-1];var o=oldActiveWidget.getZIndex();this._blocker.setZIndex(o);oldActiveWidget.setZIndex(o+1);};};if((new QxClient).isMshtml()){proto._modifyGlobalCursor=function(_b1,_b2,_b3,_b4){var s=this._cursorStyleSheetElement;if(!s){s=this._cursorStyleSheetElement=this._document.createStyleSheet();};s.cssText=isValidString(_b1)?"*{cursor:"+_b1+" !important}":"";return true;};}else {proto._modifyGlobalCursor=function(_b1,_b2,_b3,_b4){var s=this._cursorStyleSheetElement;if(!s){s=this._cursorStyleSheetElement=this._document.createElement("style");s.type="text/css";this._document.getElementsByTagName("head")[0].appendChild(s);};var sheet=s.sheet;var l=sheet.cssRules.length;for(var i=l-1;i>=0;i--){sheet.deleteRule(i);};if(isValidString(_b1)){sheet.insertRule("*{cursor:"+_b1+" !important}",0);};return true;};};proto._onresize=function(e){if(typeof QxPopupManager=="function"){(new QxPopupManager).update();};var w=this._document.body.offsetWidth;var h=this._document.body.offsetHeight;if(this._lastBodyWidth!=w){this._lastBodyWidth=w;this._innerWidthChanged();};if(this._lastBodyHeight!=h){this._lastBodyHeight=h;this._innerHeightChanged();};};proto._themes=["Win9x","WinXP"];proto.getThemes=function(){return this._themes;};proto.registerTheme=function(v){if(this._themes.contains(v)){return;};this._themes.push(v);};proto.deregisterTheme=function(v){if(this.getTheme()==v){throw new Error("Could not remove currently selected theme!");};this._themes.remove(v);return true;};proto._modifyTheme=function(_b1,_b2,_b3,_b4){var vClass=this.getCssClassName();if(_b2){vClass=vClass.remove("QxTheme"+_b2," ");};if(_b1){vClass=vClass.add("QxTheme"+_b1," ");};this.setCssClassName(vClass);return true;};proto.add=function(){var a=arguments;var l=a.length;var t=a[l-1];if(typeof QxInline=="function"&&l>1&&typeof t=="string"){for(var i=0;i<l-1;i++){if(a[i]instanceof QxInline){a[i].setInlineNodeId(t);};a[i].setParent(this);};return this;}else {return QxWidget.prototype.add.apply(this,arguments);};};proto._getParentNodeForChild=function(otherObject){if(typeof QxInline=="function"&&otherObject instanceof QxInline){var inlineNodeId=otherObject.getInlineNodeId();if(isValid(inlineNodeId)){var inlineNode=document.getElementById(inlineNodeId);if(inlineNode){return inlineNode;};};throw new Error("Couldn't find target element for:"+otherObject);};return this.getElement();};proto.dispose=function(){if(this.getDisposed()){return;};this._window=this._document=null;QxWidget.prototype.dispose.call(this);return true;};function QxInline(){QxWidget.call(this);this.setHeight("auto");this.setWidth(null);};QxInline.extend(QxWidget,"QxInline");QxInline.addProperty({name:"inlineNodeId",type:String});proto._modifyInlineNodeId=function(_b1,_b2,_b3,_b4){if(this.isCreated()){throw new Error("You couldn't change this anymore. Widget is already created!");};return true;};proto.renderX=function(hint){if(hint=="parent-dimensions"||hint=="parent-width"){this._renderChildrenX("parent-width");};return QxWidget.prototype.renderX.call(this,hint);};proto.renderY=function(hint){if(hint=="parent-dimensions"||hint=="parent-height"){this._renderChildrenY("parent-height");};return QxWidget.prototype.renderY.call(this,hint);};function QxTerminator(){QxWidget.call(this);};QxTerminator.extend(QxWidget,"QxTerminator");proto.getChildren=function(){return[];};proto.getChildrenLength=function(){return 0;};proto.hasChildren=proto.contains=function(){return false;};proto.getPreviousSibling=proto.getNextSibling=proto.getFirstChild=proto.getLastChild=function(){return null;};proto.add=proto.addBefore=proto.addAfter=proto.remove=proto.removeAll=proto._getParentNodeForChild=proto._appendElement=function(){throw new Error("Not implemented for "+this.classname);};function QxManager(){QxTarget.call(this);this._objects={};};QxManager.extend(QxTarget,"QxManager");proto.add=function(oObject){var h=oObject.toHash();if(this._objects[h]){this.debug("Already known:"+oObject);return false;};this._objects[h]=oObject;return true;};proto.remove=function(oObject){delete this._objects[oObject.toHash()];return true;};proto.has=function(oObject){return this._objects[oObject.toHash()]!=null;};proto.get=function(oObject){return this._objects[oObject.toHash()];};proto.dispose=function(){if(this.getDisposed()){return;};if(typeof this._objects!="undefined"){for(var i in this._objects){if(typeof this._objects[i]=="object")this._objects[i].dispose();delete this._objects[i];};delete this._objects;};QxTarget.prototype.dispose.call(this);};function QxDataManager(){if(QxDataManager._instance)return QxDataManager._instance;QxManager.call(this);QxDataManager._instance=this;};QxDataManager.extend(QxManager,"QxDataManager");function QxEventManager(vClientWindow){QxObject.call(this);var o=this;this.__onmouseevent=function(e){return o._onmouseevent(e);};this.__onkeyevent=function(e){return o._onkeyevent(e);};this.__ondragevent=function(e){return o._ondragevent(e);};this.__onwindowblur=function(e){return o._onwindowblur(e);};this.__onwindowfocus=function(e){return o._onwindowfocus(e);};this.__onwindowresize=function(e){return o._onwindowresize(e);};if(isValid(vClientWindow)){this.attachEvents(vClientWindow);};this._commands={};};QxEventManager.extend(QxManager,"QxEventManager");QxEventManager.mouseEventTypes=["mouseover","mousemove","mouseout","mousedown","mouseup","click","dblclick","contextmenu",(new QxClient).isMshtml()?"mousewheel":"DOMMouseScroll"];QxEventManager.keyEventTypes=["keydown","keypress","keyup"];QxEventManager.dragEventTypes=(new QxClient).isGecko()?["dragdrop","dragenter","dragexit","draggesture","dragover"]:[];QxEventManager.addProperty({name:"allowClientContextMenu",type:Boolean,defaultValue:false});QxEventManager.addProperty({name:"captureWidget"});proto._attachedClientWindow=null;proto._lastMouseEventType=null;proto._lastMouseDown=false;proto._lastMouseEventDate=0;proto._modifyCaptureWidget=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setCapture(false,_b4);};if(_b1){_b1.setCapture(true,_b4);};return true;};proto.addCommand=function(vCommand){this._commands[vCommand.toHash()]=vCommand;};proto.removeCommand=function(vCommand){delete this._commands[vCommand.toHash()];};proto._checkKeyEventMatch=function(e){var vCommand;for(var vHash in this._commands){vCommand=this._commands[vHash];if(vCommand.getEnabled()&&vCommand._matchesKeyEvent(e)){if(!vCommand.execute()){e.preventDefault();};};};};proto.attachEvents=function(clientWindow){if(this._attachedClientWindow){return false;};this._attachedClientWindow=clientWindow;this.attachEventTypes(QxEventManager.mouseEventTypes,this.__onmouseevent);this.attachEventTypes(QxEventManager.keyEventTypes,this.__onkeyevent);this.attachEventTypes(QxEventManager.dragEventTypes,this.__ondragevent);this.attachWindowEvents();};if((new QxClient).isMshtml()){proto.attachWindowEvents=function(){var winElem=this._attachedClientWindow.getElement();winElem.attachEvent("onblur",this.__onwindowblur);winElem.attachEvent("onfocus",this.__onwindowfocus);winElem.attachEvent("onresize",this.__onwindowresize);};}else {proto.attachWindowEvents=function(){var winElem=this._attachedClientWindow.getElement();winElem.addEventListener("blur",this.__onwindowblur,false);winElem.addEventListener("focus",this.__onwindowfocus,false);winElem.addEventListener("resize",this.__onwindowresize,false);};};proto.detachEvents=function(){if(!this._attachedClientWindow){return false;};this.detachWindowEvents();this.detachEventTypes(QxEventManager.mouseEventTypes,this.__onmouseevent);this.detachEventTypes(QxEventManager.keyEventTypes,this.__onkeyevent);this.detachEventTypes(QxEventManager.dragEventTypes,this.__ondragevent);this._attachedClientWindow=null;};if((new QxClient).isMshtml()){proto.detachWindowEvents=function(){try{var winElem=this._attachedClientWindow.getElement();winElem.detachEvent("onblur",this.__onwindowblur);winElem.detachEvent("onfocus",this.__onwindowfocus);winElem.detachEvent("onresize",this.__onwindowresize);}catch(ex){};};}else {proto.detachWindowEvents=function(){try{var winElem=this._attachedClientWindow.getElement();winElem.removeEventListener("blur",this.__onwindowblur,false);winElem.removeEventListener("focus",this.__onwindowfocus,false);winElem.removeEventListener("resize",this.__onwindowresize,false);}catch(ex){};};};proto.attachEventTypes=function(eventTypes,functionPointer){try{var d=this._attachedClientWindow.getClientDocument().getElement();if(d.attachEvent){for(var i=0;i<eventTypes.length;i++){d.attachEvent("on"+eventTypes[i],functionPointer);};}else if(d.addEventListener){for(var i=0;i<eventTypes.length;i++){d.addEventListener(eventTypes[i],functionPointer,false);};};}catch(ex){};};proto.detachEventTypes=function(eventTypes,functionPointer){try{var d=this._attachedClientWindow.getClientDocument().getElement();if(d.detachEvent){for(var i=0;i<eventTypes.length;i++){d.detachEvent("on"+eventTypes[i],functionPointer);};}else if(d.removeEventListener){for(var i=0;i<eventTypes.length;i++){d.removeEventListener(eventTypes[i],functionPointer,false);};};}catch(ex){};};QxEventManager.getTargetObject=function(n){while(n!=null&&n._QxWidget==null){try{n=n.parentNode;}catch(e){n=null;};};return n?n._QxWidget:null;};QxEventManager.getTargetObjectFromEvent=function(e){return QxEventManager.getTargetObject(e.target||e.srcElement);};QxEventManager.getRelatedTargetObjectFromEvent=function(e){return QxEventManager.getTargetObject(e.relatedTarget||(e.type=="mouseover"?e.fromElement:e.toElement));};QxEventManager.getActiveTargetObject=function(n,o){if(!o){var o=QxEventManager.getTargetObject(n);if(!o){return null;};};while(o){if(!o.getEnabled()){return;};if(!o.getAnonymous()){break;};o=o.getParent();};return o;};QxEventManager.getActiveTargetObjectFromEvent=function(e){return QxEventManager.getActiveTargetObject(e.target||e.srcElement);};QxEventManager.getRelatedActiveTargetObjectFromEvent=function(e){return QxEventManager.getActiveTargetObject(e.relatedTarget||(e.type=="mouseover"?e.fromElement:e.toElement));};proto._onkeyevent=function(e){if(this.getDisposed()||typeof QxKeyEvent!="function"){return;};if(!e){e=this._attachedClientWindow.getElement().event;};var k=e.keyCode||e.charCode;if(k==QxKeyEvent.keys.tab){if((new QxClient).isNotMshtml()){e.preventDefault();};e.returnValue=false;if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};this._attachedClientWindow.getFocusManager()._ontabevent(e);}else {if(k==QxKeyEvent.keys.esc){if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};};var o=this.getCaptureWidget()||(new QxApplication).getActiveWidget();if(o==null||!o.getEnabled()){return;};var s=new QxKeyEvent(e.type,e,false);if(e.type=="keypress"){this._checkKeyEventMatch(s);};var r=o.dispatchEvent(s);if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).handleKeyEvent(s);};s.dispose();return r;};};if((new QxClient).isMshtml()){proto._onmouseevent=function(e){if(!e){e=this._attachedClientWindow.getElement().event;};var t=e.type;if(t=="mousemove"){if(this._mouseIsDown&&e.button==0){this._onmouseevent_post(e,"mouseup");this._mouseIsDown=false;};}else {if(t=="mousedown"){this._mouseIsDown=true;}else if(t=="mouseup"){this._mouseIsDown=false;};if(t=="mouseup"&&!this._lastMouseDown&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(e,"mousedown");}else if(t=="dblclick"&&this._lastMouseEventType=="mouseup"&&((new Date).valueOf()-this._lastMouseEventDate)<250){this._onmouseevent_post(e,"click");};if(t=="mousedown"||t=="mouseup"||t=="click"||t=="dblclick"||t=="contextmenu"){this._lastMouseEventType=t;this._lastMouseEventDate=(new Date).valueOf();this._lastMouseDown=t=="mousedown";};};this._onmouseevent_post(e,t);};}else {proto._onmouseevent=function(e){var t=e.type;switch(t){case "DOMMouseScroll":t="mousewheel";break;case "click":case "dblclick":if(e.button!=QxMouseEvent.buttons.left){return;};};this._onmouseevent_post(e,t);};};proto._onmouseevent_post=function(e,t){var vEventObject,vDispatchTarget,vTarget,vActiveTarget,vRelatedTarget;switch(t){case "contextmenu":if(!this.getAllowClientContextMenu()){if(!(new QxClient).isMshtml()){e.preventDefault();};e.returnValue=false;};break;case "mousedown":this._onactivateevent(e);break;};vDispatchTarget=this.getCaptureWidget();vTarget=QxEventManager.getTargetObjectFromEvent(e);if(!isValidObject(vDispatchTarget)){vDispatchTarget=vActiveTarget=QxEventManager.getActiveTargetObject(null,vTarget);if(!isValidObject(vDispatchTarget)){return;};}else {vActiveTarget=QxEventManager.getActiveTargetObject(null,vTarget);};switch(t){case "mouseover":case "mouseout":vRelatedTarget=QxEventManager.getRelatedActiveTargetObjectFromEvent(e);if(vRelatedTarget==vActiveTarget){return;};};vEventObject=new QxMouseEvent(t,e,false,vTarget,vActiveTarget,vRelatedTarget);QxMouseEvent._storeEventState(vEventObject);if(t=="mousedown"){if(typeof QxPopupManager=="function"){(new QxPopupManager).update(vActiveTarget);};};vDispatchTarget.dispatchEvent(vEventObject);switch(t){case "mousedown":if(!vEventObject.getPropagationStopped()){if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};};break;case "mouseover":if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleMouseOver(vEventObject);};break;case "mouseout":if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleMouseOut(vEventObject);};break;};if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).handleMouseEvent(vEventObject);};vEventObject.dispose();vEventObject=null;};proto._ondragevent=function(e){e.preventDefault();e.returnValue=false;e.preventBubble();};proto._onwindowblur=function(e){if(this._ignoreBlur){delete this._ignoreBlur;return;};this._allowFocus=true;if(typeof QxPopupManager=="function"){(new QxPopupManager).update();};if(typeof QxMenuManager=="function"){(new QxMenuManager).update();};if(typeof QxDragAndDropManager=="function"){(new QxDragAndDropManager).globalCancelDrag();};var vDoc=this._attachedClientWindow.getDocument();if(vDoc.hasEventListeners("blur")){vDoc.dispatchEvent(new QxEvent("blur"),true);};};proto._onwindowfocus=function(e){if(!this._allowFocus){return;};delete this._allowFocus;var vDoc=this._attachedClientWindow.getDocument();if(vDoc.hasEventListeners("focus")){vDoc.dispatchEvent(new QxEvent("focus"),true);};};proto._onwindowresize=function(e){this._attachedClientWindow.getDocument().dispatchEvent(new QxEvent("resize"),true);};proto._onactivateevent=function(e){var n=e.target||e.srcElement;while(n!=null&&n._QxWidget==null){n=n.parentNode;};if(n==null){return;};var o=n._QxWidget;var oactive=o;if(o){while(o!=null&&!o.canGetFocus()){o=o.getParent();};if(o){o.setFocused(true);};if(oactive!=o){(new QxApplication).setActiveWidget(oactive);};};this._ignoreBlur=true;};proto.dispose=function(){if(this.getDisposed()){return;};this.detachEvents();this._attachedClientWindow=null;this._lastMouseEventType=null;this._lastMouseDown=null;this._lastMouseEventDate=null;if(this._commands){for(var vHash in this._commands){this._commands[vHash].dispose();delete this._commands[vHash];};this._commands=null;};QxObject.prototype.dispose.call(this);};function QxFocusManager(vClientWindow){QxObject.call(this);if(isValid(vClientWindow)){this._attachedClientWindow=vClientWindow;};};QxFocusManager.extend(QxManager,"QxFocusManager");QxFocusManager.addProperty({name:"focusedWidget"});proto._attachedClientWindow=null;proto._modifyFocusedWidget=function(_b1,_b2,_b3,_b4){var cIn=typeof _b1=="object"&&_b1!=null;var cOut=typeof _b2=="object"&&_b2!=null;if(cIn&&typeof QxPopupManager=="function"){(new QxPopupManager).update(_b1);};if(cOut){var s=new QxFocusEvent("focusout",false);if(cIn){s.setRelatedTarget(_b1);};_b2.dispatchEvent(s);s.dispose();};if(cIn){var s=new QxFocusEvent("focusin",false);if(cOut){s.setRelatedTarget(_b2);};_b1.dispatchEvent(s);s.dispose();};if(cOut){_b2.setFocused(false,_b4);var s=new QxFocusEvent("blur",false);if(cIn){s.setRelatedTarget(_b1);};_b2.dispatchEvent(s);if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleBlur(s);};s.dispose();(new QxApplication).setActiveWidget(null);};if(cIn){_b1.setFocused(true,_b4);var s=new QxFocusEvent("focus",false);if(cOut){s.setRelatedTarget(_b2);};_b1.dispatchEvent(s);if(typeof QxToolTipManager=="function"){(new QxToolTipManager).handleFocus(s);};s.dispose();(new QxApplication).setActiveWidget(_b1);};return true;};proto._ontabeventname=(new QxClient).isMshtml()?"keydown":"keypress";proto._ontabevent=function(e){if(e.type!=this._ontabeventname||!this._attachedClientWindow){return;};var cd=this._attachedClientWindow.getDocument();var current=this.getFocusedWidget();if(!e.shiftKey){var next=current?this.getWidgetAfter(cd,current):this.getFirstWidget(cd);}else {var next=current?this.getWidgetBefore(cd,current):this.getLastWidget(cd);};if(next){next.setFocused(true);next._ontabfocus();};};proto.compareTabOrder=function(c1,c2){if(c1==c2){return 0;};var t1=c1.getTabIndex();var t2=c2.getTabIndex();if(t1!=t2){return t1-t2;};var y1=c1.getComputedPageBoxTop();var y2=c2.getComputedPageBoxTop();if(y1!=y2){return y1-y2;};var x1=c1.getComputedPageBoxLeft();var x2=c2.getComputedPageBoxLeft();if(x1!=x2){return x1-x2;};var z1=c1.getZIndex();var z2=c2.getZIndex();if(z1!=z2){return z1-z2;};return 0;};proto.getFirstWidget=function(oContainer){return this._getFirst(oContainer,null);};proto.getLastWidget=function(oContainer){return this._getLast(oContainer,null);};proto.getWidgetAfter=function(oContainer,oWidget){if(oContainer==oWidget){return this.getFirstWidget(oContainer);};if(oWidget.getAnonymous()){oWidget=oWidget.getParent();};if(oWidget==null){return[];};var all=[];this._getAllAfter(oContainer,oWidget,all);all.sort(this.compareTabOrder);return all.length>0?all[0]:this.getFirstWidget(oContainer);};proto.getWidgetBefore=function(oContainer,oWidget){if(oContainer==oWidget){return this.getLastWidget(oContainer);};if(oWidget.getAnonymous()){oWidget=oWidget.getParent();};if(oWidget==null){return[];};var all=[];this._getAllBefore(oContainer,oWidget,all);all.sort(this.compareTabOrder);var l=all.length;return l>0?all[l-1]:this.getLastWidget(oContainer);};proto._getAllAfter=function(oCont,oComp,oArray){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0&&this.compareTabOrder(oComp,cs[i])<0){oArray.push(cs[i]);};if(!cs[i].isFocusRoot()){this._getAllAfter(cs[i],oComp,oArray);};};};proto._getAllBefore=function(oCont,oComp,oArray){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0&&this.compareTabOrder(oComp,cs[i])>0){oArray.push(cs[i]);};if(!cs[i].isFocusRoot()){this._getAllBefore(cs[i],oComp,oArray);};};};proto._getFirst=function(oCont,oFirst){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0){if(oFirst==null||this.compareTabOrder(cs[i],oFirst)<0){oFirst=cs[i];};};if(!cs[i].isFocusRoot()){oFirst=this._getFirst(cs[i],oFirst);};};return oFirst;};proto._getLast=function(oCont,oLast){var cs=oCont.getChildren();var l=cs.length;for(var i=0;i<l;i++){if(!(cs[i]instanceof QxWidget)){continue;};if(cs[i].canGetFocus()&&cs[i].getTabIndex()>0){if(oLast==null||this.compareTabOrder(cs[i],oLast)>0){oLast=cs[i];};};if(! cs[i].isFocusRoot()){oLast=this._getLast(cs[i],oLast);};};return oLast;};proto.dispose=function(){if(this.getDisposed()){return;};this._attachedClientWindow=null;QxObject.prototype.dispose.call(this);};function QxBorder(bWidth,bStyle,bColor){QxTarget.call(this);this._h1={};this._widgets={};this._h2={top:"",right:"",bottom:"",left:"",topColors:"",rightColors:"",bottomColors:"",leftColors:""};if(isValid(bWidth)&&bWidth!=0){this.setWidth(bWidth);};if(isValid(bStyle)){this.setStyle(bStyle);};if(isValid(bColor)){this.setColor(bColor);};};QxBorder.extend(QxTarget,"QxBorder");QxBorder.addProperty({name:"topWidth",type:Number,defaultValue:0,impl:"borderTopProperty"});QxBorder.addProperty({name:"rightWidth",type:Number,defaultValue:0,impl:"borderRightProperty"});QxBorder.addProperty({name:"bottomWidth",type:Number,defaultValue:0,impl:"borderBottomProperty"});QxBorder.addProperty({name:"leftWidth",type:Number,defaultValue:0,impl:"borderLeftProperty"});QxBorder.addProperty({name:"topStyle",type:String,defaultValue:"none",impl:"borderTopProperty"});QxBorder.addProperty({name:"rightStyle",type:String,defaultValue:"none",impl:"borderRightProperty"});QxBorder.addProperty({name:"bottomStyle",type:String,defaultValue:"none",impl:"borderBottomProperty"});QxBorder.addProperty({name:"leftStyle",type:String,defaultValue:"none",impl:"borderLeftProperty"});QxBorder.addProperty({name:"topColor",type:QxColor,defaultValue:"transparent",impl:"borderTopProperty"});QxBorder.addProperty({name:"rightColor",type:QxColor,defaultValue:"transparent",impl:"borderRightProperty"});QxBorder.addProperty({name:"bottomColor",type:QxColor,defaultValue:"transparent",impl:"borderBottomProperty"});QxBorder.addProperty({name:"leftColor",type:QxColor,defaultValue:"transparent",impl:"borderLeftProperty"});QxBorder.styleDecl={top:"borderTop",right:"borderRight",bottom:"borderBottom",left:"borderLeft"};QxBorder.geckoColorDecl={top:"MozBorderTopColors",right:"MozBorderRightColors",bottom:"MozBorderBottomColors",left:"MozBorderLeftColors"};QxBorder.fromString=function(s){var b=new QxBorder;var parts = s.split(/\s+/);var p;for(var i=0;i<parts.length;i++){p=parts[i];switch(p){case "groove":case "ridge":case "inset":case "outset":case "solid":case "dotted":case "dashed":case "double":case "none":b.setStyle(p);break;default:var n=parseFloat(p);if(n==p||p.indexOf("px")!=-1){b.setWidth(n);}else {b.setColor(p);};break;};};return b;};if((new QxClient).isOpera()){proto._generateDefString=function(bWidth,bStyle,bColor){var sWidth=typeof bWidth=="number"&&bWidth>=0&&bWidth<1000?bWidth+"px":"0px";var bStyle=typeof bStyle=="string"&&bStyle!=""?bStyle:"solid";var bColor=typeof bColor=="string"?bColor:"";if(bColor==""){switch(bStyle){case "groove":case "ridge":bColor="ThreeDHighlight";break;case "outset":case "inset":bColor="ThreeDFace";break;};};return sWidth+" "+bStyle+" "+(bColor!=""?" "+bColor:"");};}else {proto._generateDefString=function(bWidth,bStyle,bColor){var sWidth=typeof bWidth=="number"&&bWidth>=0&&bWidth<1000?bWidth+"px":"0px";var bStyle=typeof bStyle=="string"&&bStyle!=""?bStyle:"solid";var bColor=typeof bColor=="string"?bColor:"";return sWidth+" "+bStyle+" "+(bColor!=""?" "+bColor:"");};};proto.addWidget=function(o){this._widgets[o.toHash()]=o;this._applyWidget(o);};proto.removeWidget=function(o){delete this._widgets[o.toHash()];this._resetWidget(o);};proto.setWidth=function(bWidth,_b4){this.setTopWidth(bWidth,_b4);this.setRightWidth(bWidth,_b4);this.setBottomWidth(bWidth,_b4);this.setLeftWidth(bWidth,_b4);return true;};proto.setStyle=function(bStyle,_b4){this.setTopStyle(bStyle,_b4);this.setRightStyle(bStyle,_b4);this.setBottomStyle(bStyle,_b4);this.setLeftStyle(bStyle,_b4);return true;};proto.setColor=function(bColor,_b4){this.setTopColor(bColor,_b4);this.setRightColor(bColor,_b4);this.setBottomColor(bColor,_b4);this.setLeftColor(bColor,_b4);return true;};proto._modifyBorderTopProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.top=this._generateDefString(this._h1["topWidth"],this._h1["topStyle"],this._h1["topColor"]);this._h3Top();this._sync("top");return true;};if((new QxClient).isGecko()){proto._h3Top=function(){if(typeof this._h1["topColor"]=="string"&&this._h1["topColor"]!=""){this._h2["topColors"]="";}else {switch(this._h1["topStyle"]){case "groove":this._h2["topColors"]="ThreeDShadow ThreeDHighlight";break;case "ridge":this._h2["topColors"]="ThreeDHighlight ThreeDShadow";break;case "inset":this._h2["topColors"]="ThreeDShadow ThreeDDarkShadow";break;case "outset":this._h2["topColors"]="ThreeDLightShadow ThreeDHighlight";break;default:this._h2["topColors"]="";};};};}else {proto._h3Top=function(){};};proto._modifyBorderRightProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.right=this._generateDefString(this._h1["rightWidth"],this._h1["rightStyle"],this._h1["rightColor"]);this._h3Right();this._sync("right");return true;};if((new QxClient).isGecko()){proto._h3Right=function(){if(typeof this._h1["rightColor"]=="string"&&this._h1["rightColor"]!=""){this._h2["rightColors"]="";}else {switch(this._h1["rightStyle"]){case "groove":this._h2["rightColors"]="ThreeDHighlight ThreeDShadow";break;case "ridge":this._h2["rightColors"]="ThreeDShadow ThreeDHighlight";break;case "inset":this._h2["rightColors"]="ThreeDHighlight ThreeDLightShadow";break;case "outset":this._h2["rightColors"]="ThreeDDarkShadow ThreeDShadow";break;default:this._h2["rightColors"]="";};};};}else {proto._h3Right=function(){};};proto._modifyBorderBottomProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.bottom=this._generateDefString(this._h1["bottomWidth"],this._h1["bottomStyle"],this._h1["bottomColor"]);this._h3Bottom();this._sync("bottom");return true;};if((new QxClient).isGecko()){proto._h3Bottom=function(){if(typeof this._h1["bottomColor"]=="string"&&this._h1["bottomColor"]!=""){this._h2["bottomColors"]="";}else {switch(this._h1["bottomStyle"]){case "groove":this._h2["bottomColors"]="ThreeDHighlight ThreeDShadow";break;case "ridge":this._h2["bottomColors"]="ThreeDShadow ThreeDHighlight";break;case "inset":this._h2["bottomColors"]="ThreeDHighlight ThreeDLightShadow";break;case "outset":this._h2["bottomColors"]="ThreeDDarkShadow ThreeDShadow";break;default:this._h2["bottomColors"]="";};};};}else {proto._h3Bottom=function(){};};proto._modifyBorderLeftProperty=function(_b1,_b2,_b3,_b4){this._h1[_b3]=_b1;this._h2.left=this._generateDefString(this._h1["leftWidth"],this._h1["leftStyle"],this._h1["leftColor"]);this._h3Left();this._sync("left");return true;};if((new QxClient).isGecko()){proto._h3Left=function(){if(typeof this._h1["leftColor"]=="string"&&this._h1["leftColor"]!=""){this._h2["leftColors"]="";}else {switch(this._h1["leftStyle"]){case "groove":this._h2["leftColors"]="ThreeDShadow ThreeDHighlight";break;case "ridge":this._h2["leftColors"]="ThreeDHighlight ThreeDShadow";break;case "inset":this._h2["leftColors"]="ThreeDShadow ThreeDDarkShadow";break;case "outset":this._h2["leftColors"]="ThreeDLightShadow ThreeDHighlight";break;default:this._h2["leftColors"]="";};};};}else {proto._h3Left=function(){};};proto._sync=function(bProp){for(i in this._widgets){this._applyWidgetProp(this._widgets[i],bProp);};};if((new QxClient).isGecko()){proto._applyWidgetProp=function(o,bProp){if(typeof o=="undefined"||o==null){throw new Error("Failed to get widget to update border:"+o);};c=QxBorder.styleDecl;o.setStyleProperty(c[bProp],this._h2[bProp]);c=QxBorder.geckoColorDecl;o.setStyleProperty(c[bProp],this._h2[bProp+"Colors"]);};proto._applyWidget=function(o){if(typeof o=="undefined"||o==null||(!o instanceof QxWidget)){throw new Error("Failed to get widget to update border:"+o);};var c;with(this._h2){c=QxBorder.styleDecl;o.setStyleProperty(c.top,top);o.setStyleProperty(c.right,right);o.setStyleProperty(c.bottom,bottom);o.setStyleProperty(c.left,left);c=QxBorder.geckoColorDecl;o.setStyleProperty(c.top,topColors);o.setStyleProperty(c.right,rightColors);o.setStyleProperty(c.bottom,bottomColors);o.setStyleProperty(c.left,leftColors);};};proto._resetWidget=function(o){var c=QxBorder.styleDecl;o.setStyleProperty(c.top,"");o.setStyleProperty(c.right,"");o.setStyleProperty(c.bottom,"");o.setStyleProperty(c.left,"");c=QxBorder.geckoColorDecl;o.setStyleProperty(c.top,"");o.setStyleProperty(c.right,"");o.setStyleProperty(c.bottom,"");o.setStyleProperty(c.left,"");};}else {proto._applyWidgetProp=function(o,bProp){if(typeof o=="undefined"||o==null){throw new Error("Failed to get widget to update border:"+o);};c=QxBorder.styleDecl;o.setStyleProperty(c[bProp],this._h2[bProp]);};proto._applyWidget=function(o){if(typeof o=="undefined"||o==null||(!o instanceof QxWidget)){throw new Error("Failed to get widget to update border:"+o);};var c;with(this._h2){c=QxBorder.styleDecl;o.setStyleProperty(c.top,top);o.setStyleProperty(c.right,right);o.setStyleProperty(c.bottom,bottom);o.setStyleProperty(c.left,left);};};proto._resetWidget=function(o){var c=QxBorder.styleDecl;o.setStyleProperty(c.top,"");o.setStyleProperty(c.right,"");o.setStyleProperty(c.bottom,"");o.setStyleProperty(c.left,"");};};QxBorder.presets={inset:new QxBorder(2,"inset"),outset:new QxBorder(2,"outset"),groove:new QxBorder(2,"groove"),ridge:new QxBorder(2,"ridge"),thinInset:new QxBorder(1,"solid","ThreeDShadow"),thinOutset:new QxBorder(1,"solid","ThreeDShadow"),black:new QxBorder(1,"solid","black"),white:new QxBorder(1,"solid","white"),shadow:new QxBorder(1,"solid","ThreeDShadow")};with(QxBorder.presets.thinInset){setRightColor("ThreeDHighlight");setBottomColor("ThreeDHighlight");};with(QxBorder.presets.thinOutset){setLeftColor("ThreeDHighlight");setTopColor("ThreeDHighlight");};proto.dispose=function(){if(typeof this._widgets=="object"){for(var i;i<this._widgets.length;i++){delete this._widgets[i];};};delete this._widgets;if(typeof this._h1=="object"){for(var i in this._h1){delete this._h1[i];};};delete this._h1;if(typeof this._h2=="object"){for(var i in this._h2){delete this._h2[i];};};delete this._h2;return QxTarget.prototype.dispose.call(this);};function QxTextField(vText){QxWidget.call(this);if(isValid(vText)){this.setText(vText);};this.setHtmlProperty("type","text");this.setTabIndex(1);this.setCanSelect(true);this.setTagName("INPUT");this.setTextAlign("left");this.addEventListener("blur",this._onblur);this.addEventListener("focus",this._onfocus);};QxTextField.extend(QxWidget,"QxTextField");QxTextField.addProperty({name:"text",type:String,defaultValue:""});QxTextField.addProperty({name:"maxLength",type:Number});QxTextField.addProperty({name:"readOnly",type:Boolean});QxTextField.addProperty({name:"selectionStart",type:Number});QxTextField.addProperty({name:"selectionLength",type:Number});QxTextField.addProperty({name:"selectionText",type:String});proto._clonePropertyIgnoreList+=",selectionStart,selectionLength,selectionText";proto._checkText=function(_b1,_b2,_b3,_b4){return typeof _b1=="string"?_b1:"";};proto._modifyText=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty("value",_b1);};proto._modifyMaxLength=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty("maxLength",_b1);};proto._modifyReadOnly=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty("readOnly",_b1);};if((new QxClient).isGecko()){proto._visualizeFocus=function(){this.setCssClassName(this.getCssClassName().add("QxFocused"," ").add(this.classname+"-Focused"," "));try{this.getElement().readOnly=true;this.getElement().focus();this.getElement().readOnly=this.getReadOnly();}catch(ex){};return true;};proto._addInlineEvents=function(el){el.addEventListener("input",QxWidget.__oninlineevent,false);return QxWidget.prototype._addInlineEvents.call(this,el);};proto._removeInlineEvents=function(el){el.removeEventListener("input",QxWidget.__oninlineevent,false);return QxWidget.prototype._removeInlineEvents.call(this,el);};};proto.getPreferredWidth=function(){var el=this.getElement();if(el){var w=el.style.width;el.style.width="";var o=el.offsetWidth;el.style.width=isValid(w)?w:"";return o;};return 0;};proto.getPreferredHeight=function(){var el=this.getElement();if(el){var h=el.style.height;el.style.height="";var o=el.offsetHeight;el.style.height=isValid(h)?h:"";return o;};return 0;};proto._textOnFocus=null;proto._ontabfocus=function(e){this.selectAll();};proto._onfocus=function(e){this._textOnFocus=this.getElement().value;};proto._onblur=function(e){if(this._textOnFocus!=this.getElement().value){this.setText(this.getElement().value);};this.setSelectionLength(0);};proto._oninlineevent=function(e){if(!e){e=this.getTopLevelWidget().getDocumentElement().parentWindow.event;};switch(e.type){case "input":if(this.hasEventListeners("input")){this.dispatchEvent(new QxDataEvent("input",this.getElement().value));};return true;case "propertychange":if(e.propertyName=="value"){if(this.hasEventListeners("input")){this.dispatchEvent(new QxDataEvent("input",this.getElement().value));};return true;};break;};return QxWidget.prototype._oninlineevent.call(this,e);};if((new QxClient).isMshtml()){proto._getRange=function(){this._visualPropertyCheck();return this.getElement().createTextRange();};proto._getSelectionRange=function(){this._visualPropertyCheck();return this.getTopLevelWidget().getDocumentElement().selection.createRange();};proto.setSelectionStart=function(vStart){this._visualPropertyCheck();var vText=this.getElement().value;var i=0;while(i<vStart){i=vText.indexOf("\r\n",i);if(i==-1){break;};vStart--;i++;};var vRange=this._getRange();vRange.collapse();vRange.move("character",vStart);vRange.select();};proto.getSelectionStart=function(){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return-1;};var vRange=this._getRange();vRange.setEndPoint("EndToStart",vSelectionRange);return vRange.text.length;};proto.setSelectionLength=function(vLength){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return;};vSelectionRange.collapse();vSelectionRange.moveEnd("character",vLength);vSelectionRange.select();};proto.getSelectionLength=function(){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return 0;};return vSelectionRange.text.length;};proto.setSelectionText=function(vText){this._visualPropertyCheck();var vStart=this.getSelectionStart();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return;};vSelectionRange.text=vText;this.setText(this.getElement().value);this.setSelectionStart(vStart);this.setSelectionLength(vText.length);return true;};proto.getSelectionText=function(){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return "";};return vSelectionRange.text;};proto.selectAll=function(){this._visualPropertyCheck();this.setSelectionStart(0);this.setSelectionLength(this.getText().length);this.getElement().select();};proto.selectFromTo=function(vStart,vEnd){this._visualPropertyCheck();this.setSelectionStart(vStart);this.setSelectionLength(vEnd-vStart);};}else {proto.setSelectionStart=function(vStart){this._visualPropertyCheck();this.getElement().selectionStart=vStart;};proto.getSelectionStart=function(){this._visualPropertyCheck();return this.getElement().selectionStart;};proto.setSelectionLength=function(vLength){this._visualPropertyCheck();var el=this.getElement();el.selectionEnd=el.selectionStart+vLength;};proto.getSelectionLength=function(){this._visualPropertyCheck();var el=this.getElement();return el.selectionEnd-el.selectionStart;};proto.setSelectionText=function(vText){this._visualPropertyCheck();var el=this.getElement();var vOldText=el.value;var vStart=el.selectionStart;var vOldTextBefore=vOldText.substr(0,vStart);var vOldTextAfter=vOldText.substr(el.selectionEnd);var vValue=el.value=vOldTextBefore+vText+vOldTextAfter;el.selectionStart=vStart;el.selectionEnd=vStart+vText.length;this.setText(vValue);return true;};proto.getSelectionText=function(){this._visualPropertyCheck();return this.getElement().value.substr(this.getSelectionStart(),this.getSelectionLength());};proto.selectAll=function(){this._visualPropertyCheck();this.getElement().select();};proto.selectFromTo=function(vStart,vEnd){this._visualPropertyCheck();var el=this.getElement();el.selectionStart=vStart;el.selectionEnd=vEnd;};};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("blur",this._onblur);this.removeEventListener("focus",this._onfocus);QxWidget.prototype.dispose.call(this);};function QxPasswordField(vText){QxTextField.call(this,vText);this.setHtmlProperty("type","password");};QxPasswordField.extend(QxTextField,"QxPasswordField");function QxTextArea(sText){QxTextField.call(this,sText);this.setOverflow("auto");this.removeHtmlProperty("type");this.setHeight(50);this.setTagName("TEXTAREA");this.setCanSelect(true);};QxTextArea.extend(QxTextField,"QxTextArea");QxTextArea.addProperty({name:"wrap",type:Boolean});proto._modifyWrap=function(_b1,_b2,_b3,_b4){return(new QxClient).isMshtml()?this.setHtmlProperty("wrap",_b1?"soft":"off"):this.setStyleProperty("whiteSpace",_b1?"normal":"nowrap");};function QxTimerManager(){if(QxTimerManager._instance){return QxTimerManager._instance;};QxManager.call(this);QxTimerManager._instance=this;};QxTimerManager.extend(QxManager,"QxTimerManager");function QxTimer(vInterval){QxTarget.call(this);this.setEnabled(false);if(isValidNumber(vInterval)){this.setInterval(vInterval);};(new QxTimerManager).add(this);var o=this;this.__i7=function(){o._i7();};};QxTimer.extend(QxTarget,"QxTimer");QxTimer.addProperty({name:"interval",type:Number,defaultValue:1000});proto._i8=null;proto._modifyEnabled=function(_b1,_b2,_b3,_b4){if(_b2){window.clearInterval(this._i8);this._i8=null;}else if(_b1){this._i8=window.setInterval(this.__i7,this.getInterval());};return QxTarget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};proto.start=function(){this.setEnabled(true);};proto.startWith=function(vInterval){this.setInterval(vInterval);this.start();};proto.stop=function(){this.setEnabled(false);};proto.restart=function(){this.stop();this.start();};proto.restartWith=function(vInterval){this.stop();this.startWith(vInterval);};proto._i7=function(){if(this.getEnabled()&&this.hasEventListeners("interval")){this.dispatchEvent(new QxEvent("interval"),true);};};proto.dispose=function(){if(this.getDisposed()){return;};this.stop();this.__i7=null;if(this._i8r){window.clearInterval(this._i8);this._i8r=null;};return QxTarget.prototype.dispose.call(this);};function QxXmlHttpLoader(){QxTarget.call(this);if(!QxXmlHttpLoader._ok){throw new Error("Your Browser does not support XML-HTTP!");};var o=this;this.__onreadystatechange=function(){o._onreadystatechange();};this.__onload=function(){o._onload();};this.__onreadystatefix=function(){o.req.readyState=4;o._onreadystatechange();};};QxXmlHttpLoader.extend(QxTarget,"QxXmlHttpLoader");QxXmlHttpLoader._http=window.XMLHttpRequest?true:false;QxXmlHttpLoader._activex=window.ActiveXObject&&!(new QxClient).isOpera()?true:false;QxXmlHttpLoader._activexobj=null;QxXmlHttpLoader._ok=QxXmlHttpLoader._http||QxXmlHttpLoader._activex;if(QxXmlHttpLoader._activex){var servers=["MSXML2","Microsoft","MSXML","MSXML3"];for(var i=0;i<servers.length;i++){try{var o=new ActiveXObject(servers[i]+".XMLHTTP");QxXmlHttpLoader._activexobj=servers[i];o=null;}catch(ex){};};};QxXmlHttpLoader.addProperty({name:"xml"});proto.load=function(url){try{this.req=QxXmlHttpLoader._activex?new ActiveXObject(QxXmlHttpLoader._activexobj+".XMLHTTP"):new XMLHttpRequest();if(typeof this.req.abort!="undefined"){this.req.abort();};this.req.onreadystatechange=this.__onreadystatechange;if(this.req.readyState==null){this.req.readyState=1;req.addEventListener("load",this.__onreadystatefix,false);};this.req.open("GET",url,true);return QxXmlHttpLoader._activex?this.req.send():this.req.send(null);}catch(e){throw new Error("Your browser does not support XML-HTTP:\n"+e);};};proto._onload=function(){};proto._onreadystatechange=function(){switch(this.req.readyState){case 1:if(this.hasEventListeners("init")){this.dispatchEvent(new QxEvent("init"));};break;case 2:if(this.hasEventListeners("connect")){this.dispatchEvent(new QxEvent("connect"));};if(this.req.status!=200&&this.req.status!=0){if(typeof this.req.abort!="undefined")this.req.abort();throw new Error("File request failed:"+this.req.statusText+"["+this.req.status+"]");};break;case 3:if(this.hasEventListeners("download"))this.dispatchEvent(new QxEvent("download"));try{var l=this.req.getResponseHeader("Content-Length");if(typeof l!="number"){l=NaN;};}catch(ex){var l=NaN;};break;case 4:if(this.hasEventListeners("done")){this.dispatchEvent(new QxEvent("done"));};if(this.req.status!=200&&this.req.status!=0){if(this.req.abort){this.req.abort();};throw new Error("File request failed:"+this.req.statusText+"["+this.req.status+"]");};if(!this.req.responseXML.documentElement){var s = String(this.req.responseText).replace(/<\?xml[^\?]*\?>/, "");this.req.responseXML.loadXML(s);};if(!this.req.responseXML.documentElement){throw new Error("Missing Document Element!");};if(this.req.responseXML.documentElement.tagName=="parseerror"){throw new Error("XML-File is not well-formed!");};this.dispatchEvent(new QxDataEvent("complete",this.req.responseXML),true);};};proto.dispose=function(){if(this._disposed){return;};if(this.req){this.req=null;};this.__onreadystatechange=null;return QxTarget.prototype.dispose.call(this);};function QxData(c){QxTarget.call(this);this._h7=[];this._storeQueue=[];this._cache={};this._interval=new QxTimer(25);this._processRequestQueue=false;var o=this;this._interval.addEventListener("interval",function(){o.checkProcess();});(new QxTimerManager).add(this);};QxData.extend(QxTarget,"QxData");proto.loadData=function(dataKey){if(this.getDisposed()){return;};this._h7.push(dataKey);if(!this._interval.getEnabled()){this._interval.start();};};proto.checkProcess=function(){if(this.getDisposed()){return;};if(this._processRequestQueue){return;};this._processRequestQueue=true;while(this._h7.length>0){this.process(this._h7.shift(),new QxXmlHttpLoader);};this._processRequestQueue=false;this._interval.stop();};proto.process=function(dataKey,loader){if(this.getDisposed()){return;};this._storeQueue.push(dataKey);var o=this;loader.addEventListener("complete",function(e){o.processComplete(e.getData());loader.dispose();});try{loader.load(this.makeRequest(dataKey));}catch(ex){var t=dataKey.indexOf("[");var p0=dataKey.substring(0,t);this.dispatchEvent(new QxDataEvent("update"+p0.toFirstUp(),this),true);loader.dispose();throw new Error("Could not load data:"+ex);};};proto.makeRequest=function(dataKey){var t=dataKey.indexOf("[");var p0=dataKey.substring(0,t);var p1=dataKey.substring(t+1,dataKey.length-1);return "data/" + p0 + "/" + p1 + ".xml" + "?r=" + Math.round(Math.random()^Math.random()*100000);};proto.processComplete=function(xmlData){var req=this.getRequest(xmlData);var res=this.parseData(req,xmlData);this.mergeCacheData(res);this.dispatchEvent(new QxDataEvent("update"+req.toFirstUp(),this),true);};proto.getRequest=function(xmlData){return xmlData.documentElement.getElementsByTagName("PfxRequest")[0].getElementsByTagName("PfxSoap")[0].getAttribute("reqname");};proto.getResultXml=function(xmlData){return xmlData.documentElement.getElementsByTagName("PfxResult")[0];};proto.mapXmlToObject=function(xmlFrag){var r={};var c=xmlFrag.childNodes;for(var i=0;i<c.length;i++){if(c[i].nodeType==1){r[c[i].tagName]=c[i].firstChild.nodeValue;};};return r;};proto.parseData=function(req,xmlData){var handler=this["_parseData_"+req];if(typeof handler!="function"){throw new Error("QxData:The Parser function is not defined:_parseData_"+req+"!");};return handler.call(this,xmlData);};proto.mergeCacheData=function(res){for(i in res){this._cache[i]=res[i];};};proto.dispose=function(){if(this._disposed){return;};QxObject.prototype.dispose.call(this);if(typeof this._h7=="object"){for(var i=0;i<this._h7.length;i++){delete this._h7[i];};};delete this._h7;if(typeof this._storeQueue=="object"){for(var i=0;i<this._storeQueue.length;i++){delete this._storeQueue[i];};};delete this._storeQueue;if(typeof this._cache=="object"){for(i in this._cache){delete this._cache[i];};};this._cache=null;if(this._interval){this._interval.dispose();};this._interval=null;this._processRequestQueue=null;};function QxImageManager(){if(QxImageManager._instance){return QxImageManager._instance;};this.addIconTheme("Crystal SVG","crystalsvg");this.addIconTheme("Nuvola","nuvola");this.addWidgetTheme("Windows","windows");QxManager.call(this);QxImageManager._instance=this;};QxImageManager.extend(QxManager,"QxImageManager");QxImageManager.addProperty({ name : "path", type : String, defaultValue : "../../images/" });QxImageManager.addProperty({name:"iconTheme",type:String,defaultValue:"crystalsvg"});QxImageManager.addProperty({name:"widgetTheme",type:String,defaultValue:"windows"});proto._iconThemes={};proto._widgetThemes={};proto.getBlank=function(){return this.getPath()+"core/blank.gif";};proto.buildURI=function(vPath){switch(vPath.charAt(0)){case "/":case ".":return vPath;default:switch(vPath.substring(0,vPath.indexOf(":"))){case "http":case "https":case "file":return vPath;};if(vPath.indexOf("icons")==0){return this.getPath() + "icons/" + this.getIconTheme() + "/" + vPath.substring(6);}else if(vPath.indexOf("widgets")==0){return this.getPath() + "widgets/" + this.getWidgetTheme() + "/" + vPath.substring(8);};return this.getPath()+vPath;};};proto._updateImages=function(){var o;for(var i in this._objects){o=this._objects[i];o.setPreloader(new QxImagePreloader(this.buildURI(o.getSource())));};return true;};proto._modifyPath=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto._checkIconTheme=function(_b1){if(this._iconThemes[_b1]){return _b1;};for(var i in this._iconThemes){if(this._iconThemes[i].title==_b1){return i;};};throw new Error("Invalid icon theme id/title:"+_b1+"!");};proto._modifyIconTheme=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto.addIconTheme=function(vHash,vTitle,vId,vPath){if(isInvalidString(vTitle)){throw new Error("Please define the title of the new icon theme.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this._iconThemes[vId]){throw new Error("Theme is already defined:"+vId);};this._iconThemes[vId]={title:vTitle,path:vPath?vPath:vId};};proto.removeIconTheme=function(vHash,vTitle,vId){if(isInvalidString(vTitle)){throw new Error("Please define the title of the icon theme which should be removed.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this.getDefaultIconTheme()==vId){throw new Error("Could not remove default theme "+this.getDefaultIconTheme()+"!");};if(this.getIconTheme()==vId){this.resetIconTheme();};delete this._iconThemes[vId];};proto._checkWidgetTheme=function(_b1){if(this._widgetThemes[_b1]){return _b1;};for(var i in this._widgetThemes){if(this._widgetThemes[i].title==_b1){return i;};};throw new Error("Invalid widget theme id/title:"+_b1+"!");};proto._modifyWidgetTheme=function(_b1,_b2,_b3,_b4){return this._updateImages();};proto.addWidgetTheme=function(vHash,vTitle,vId,vPath){if(isInvalidString(vTitle)){throw new Error("Please define the title of the new widget theme.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this._widgetThemes[vId]){throw new Error("Theme is already defined:"+vId);};this._widgetThemes[vId]={title:vTitle,path:vPath?vPath:vId};};proto.removeWidgetTheme=function(vHash,vTitle,vId){if(isInvalidString(vTitle)){throw new Error("Please define the title of the widget theme which should be removed.");};if(isInvalidString(vId)){var vId=vTitle.toLowerCase();};if(this.getDefaultWidgetTheme()==vId){throw new Error("Could not remove default theme "+this.getDefaultWidgetTheme()+"!");};if(this.getWidgetTheme()==vId){this.resetWidgetTheme();};delete this._widgetThemes[vId];};function QxImagePreloaderManager(){if(QxImagePreloaderManager._instance){return QxImagePreloaderManager._instance;};QxManager.call(this);QxImagePreloaderManager._instance=this;};QxImagePreloaderManager.extend(QxManager,"QxImagePreloaderManager");proto.add=function(oObject){this._objects[oObject.getUri()]=oObject;};proto.remove=function(oObject){delete this._objects[oObject.getUri()];};proto.has=function(oUri){return this._objects[String(oUri)]!=null;};proto.get=function(oUri){return this._objects[String(oUri)];};function QxImagePreloader(vSource){var m=new QxImagePreloaderManager();if(m.has(vSource)){return m.get(vSource);};QxTarget.call(this);this._h3=new Image();this._h3._QxImagePreloader=this;this._h3.onload=QxImagePreloader.__onload;this._h3.onerror=QxImagePreloader.__onerror;this._source=vSource;this._h3.src=vSource;if((new QxClient).isMshtml()){this._isPng = /\.png$/i.test(this._h3.nameProp);};m.add(this);};QxImagePreloader.extend(QxTarget,"QxImagePreloader");proto._source=null;proto._isLoaded=false;proto._isPng=false;proto.getUri=function(){return this._source;};proto.getSource=function(){return this._source;};if((new QxClient).isGecko()){proto.getWidth=function(){return this._h3.naturalWidth;};proto.getHeight=function(){return this._h3.naturalHeight;};proto.getIsLoaded=function(){return this._isLoaded=this._h3.complete;};}else if((new QxClient).isMshtml()){proto.getWidth=function(){return this._h3.width;};proto.getHeight=function(){return this._h3.height;};proto.getIsLoaded=function(){return this._h3.readyState=="complete";};proto.getIsPng=function(){return this._isPng;};}else {proto.getWidth=function(){return this._h3.width;};proto.getHeight=function(){return this._h3.height;};proto.getIsLoaded=function(){return this._isLoaded=this._h3.complete;};};QxImagePreloader.__onload=function(){this._QxImagePreloader._onload();};QxImagePreloader.__onerror=function(){this._QxImagePreloader._onerror();};proto._onload=function(){this._isLoaded=true;if(this.hasEventListeners("load")){this.dispatchEvent(new QxEvent("load"));};};proto._onerror=function(){this._isLoaded=false;if(this.hasEventListeners("error")){this.dispatchEvent(new QxEvent("error"));};};proto.dispose=function(){if(this.getDisposed()){return;};QxTarget.prototype.dispose.call(this);if(this._h3){this._h3.onload=this._h3.onerror=null;this._h3._QxImagePreloader=null;this._h3=null;};this._isLoaded=this._isPng=false;return true;};function QxImage(vSource,vWidth,vHeight){QxTerminator.call(this);this.setTagName("IMG");this.setCanSelect(false);this._manager=new QxImageManager;this._manager.add(this);this.setHtmlProperty("src",this._manager.getBlank());if(isValid(vWidth)){this.setWidth(vWidth);};if(isValid(vHeight)){this.setHeight(vHeight);};if(isValid(vSource)){this.setSource(vSource);};};QxImage.extend(QxTerminator,"QxImage");QxImage.addProperty({name:"source",type:String});QxImage.addProperty({name:"preloader",type:Object});QxImage.addProperty({name:"loaded",type:Boolean,defaultValue:false});proto._onload=function(){this.setLoaded(true);};proto._onerror=function(){this.setLoaded(false);if(this.hasEventListeners("error")){this.dispatchEvent(new QxEvent("error"),true);};throw new Error("Image path is not valid:"+this.getSource());};proto._modifySource=function(_b1,_b2,_b3,_b4){if(_b1||_b2){if(_b1){this.setPreloader(new QxImagePreloader((new QxImageManager).buildURI(_b1)),_b4);}else if(_b2){this.setPreloader(null,_b4);};};return true;};proto._modifyPreloader=function(_b1,_b2,_b3,_b4){if(_b2){_b2.removeEventListener("load",this._onload,this);_b2.removeEventListener("error",this._onerror,this);};if(_b1){this.setLoaded(false);if(_b1.getIsLoaded()){this.setLoaded(true,_b4);}else {_b1.addEventListener("load",this._onload,this);_b1.addEventListener("error",this._onerror,this);};};return true;};proto._modifyLoaded=function(_b1,_b2,_b3,_b4){if(_b1&&this.isCreated()){this._apply();}else {this._outerChanged("unload");};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);if(_b1&&this.getLoaded()){this._apply();};return true;};if((new QxClient).isMshtml()){proto._modifyOpacity=function(){throw new Error("Mshtml did not support opacity on images!");};proto._postApply=function(vEnabled){var pl=this.getPreloader();if(pl.getIsPng()&&vEnabled){this.setHtmlProperty("src",this._manager.getBlank());this.setStyleProperty("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+pl.getSource()+"',sizingMethod='scale')");}else {this.setHtmlProperty("src",pl.getSource());vEnabled?this.removeStyleProperty("filter"):this.setStyleProperty("filter","Gray()Alpha(Opacity=50)");};};proto._apply=function(){var pl=this.getPreloader();if(this.getHeight()==null){this.setStyleProperty("pixelHeight",pl.getHeight());};if(this.getWidth()==null){this.setStyleProperty("pixelWidth",pl.getWidth());};this._postApply(this.getEnabled());this._invalidatePreferred();this._outerChanged("load");if(this.hasEventListeners("load")){this.dispatchEvent(new QxEvent("load"),true);};};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);this._postApply(_b1);return true;};}else {proto._apply=function(){this.setHtmlProperty("src",this.getPreloader().getSource());this._invalidatePreferred();this._outerChanged("load");if(this.hasEventListeners("load")){this.dispatchEvent(new QxEvent("load"),true);};};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){this.setOpacity(_b1?1:0.5,_b4);return QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};};proto.getPreferredWidth=function(){return this.getLoaded()?this.getPreloader().getWidth():0;};proto.getPreferredHeight=function(){return this.getLoaded()?this.getPreloader().getHeight():0;};proto.dispose=function(){if(this.getDisposed()){return true;};(new QxImageManager).remove(this);return QxWidget.prototype.dispose.call(this);};function QxDragEvent(vType,vMouseEvent,vAutoDispose){this._mouseEvent=vMouseEvent;this._manager=new QxDragAndDropManager;QxMouseEvent.call(this,vType,vMouseEvent?vMouseEvent._domEvent:null,vAutoDispose);};QxDragEvent.extend(QxMouseEvent,"QxDragEvent");proto.getManager=function(){return this._manager;};proto.getMouseEvent=function(){return this._mouseEvent;};proto.startDrag=function(){if(this._type!="dragstart"){throw new Error("QxDragEvent startDrag can only be called during the dragstart event");};this.stopPropagation();this._manager.startDrag();};proto.addData=function(sType,oData){this._manager.addData(sType,oData);};proto.getData=function(sType){return this._manager.getData(sType);};proto.clearData=function(){this._manager.clearData();};proto.getDropDataTypes=function(){return this._manager.getDropDataTypes();};proto.addAction=function(sAction){this._manager.addAction(sAction);};proto.removeAction=function(sAction){this._manager.removeAction(sAction);};proto.getAction=function(){return this._manager.getCurrentAction();};proto.clearActions=function(){this._manager.clearActions();};proto._evalTarget=function(){switch(this._type){case "dragstart":case "dragend":case "dragover":case "dragout":case "dragmove":return this._target;case "dragdrop":return this._manager.getDestinationWidget();default:return QxMouseEvent.prototype._evalTarget.call(this);};};proto._evalRelatedTarget=function(){switch(this._type){case "dragover":case "dragout":return this._relatedTarget;case "dragdrop":return this._manager.getSourceWidget();case "dragend":return this._manager.getDestinationWidget();default:return QxMouseEvent.prototype._evalRelatedTarget.call(this);};};proto.dispose=function(){if(this.getDisposed()){return;};QxMouseEvent.prototype.dispose.call(this);this._relatedTarget=null;this._target=null;};function QxDragAndDropManager(){if(QxDragAndDropManager._instance){return QxDragAndDropManager._instance;};QxTarget.call(this);this._k1={};this._k2={};this._k3={};var d=window.application.getClientWindow().getClientDocument();var a=["move","copy","alias","nodrop"];var c;for(var i=0;i<a.length;i++){c = this._k3[a[i]] = new QxImage("widgets/cursors/" + a[i] + ".gif");c.setTimerCreate(false);c.setStyleProperty("top","-1000px");c.setZIndex(10000);c.setParent(d);};QxDragAndDropManager._instance=this;};QxDragAndDropManager.extend(QxManager,"QxDragAndDropManager");QxDragAndDropManager.addProperty({name:"sourceWidget",type:Object});QxDragAndDropManager.addProperty({name:"destinationWidget",type:Object});QxDragAndDropManager.addProperty({name:"cursor",type:Object});QxDragAndDropManager.addProperty({name:"currentAction",type:String});proto._k5=null;proto._modifyDestinationWidget=function(_b1,_b2,_b3,_b4){if(_b1){_b1.dispatchEvent(new QxDragEvent("dragdrop",this._k5));this._k5=null;};return true;};proto.addData=function(vMimeType,vData){this._k1[vMimeType]=vData;};proto.getData=function(vMimeType){return this._k1[vMimeType];};proto.clearData=function(){this._k1={};};proto.getDropDataTypes=function(){var dw=this.getDestinationWidget();var st=[];if(!dw){return st;};var ddt=dw.getDropDataTypes();var ddtl=ddt.length;for(var i=0;i<ddtl;i++){if(ddt[i]in this._k1){st.push(ddt[i]);};};return st;};proto.startDrag=function(){if(!this._k6){throw new Error("Invalid usage of startDrag. Missing dragInfo!");};this._k6.dragHandlerActive=true;this.setSourceWidget(this._k6.sourceWidget);};proto._fireUserEvents=function(fromWidget,toWidget,e){if(fromWidget&&fromWidget!=toWidget){var outEvent=new QxDragEvent("dragout",e);outEvent._relatedTarget=toWidget;fromWidget.dispatchEvent(outEvent,true);outEvent=null;};if(toWidget){if(fromWidget!=toWidget){var overEvent=new QxDragEvent("dragover",e);overEvent._relatedTarget=fromWidget;toWidget.dispatchEvent(overEvent,true);overEvent=null;};var moveEvent=new QxDragEvent("dragmove",e);toWidget.dispatchEvent(moveEvent,true);moveEvent=null;};};proto.handleMouseEvent=function(e){switch(e.getType()){case "mousedown":return this._handleMouseDown(e);case "mouseup":return this._handleMouseUp(e);case "mousemove":return this._handleMouseMove(e);};};proto._handleMouseDown=function(e){if(e.getDefaultPrevented()){return;};this._k6={startScreenX:e.getScreenX(),startScreenY:e.getScreenY(),pageX:e.getPageX(),pageY:e.getPageY(),sourceWidget:e.getTarget(),dragHandlerActive:false,hasFiredDragStart:false };this._k6.sourceTopLevel=this._k6.sourceWidget.getTopLevelWidget();};proto._handleMouseMove=function(e){if(!this._k6){return;};if(this._k6.dragHandlerActive){this._k6.pageX=e.getPageX();this._k6.pageY=e.getPageY();var currentDropTarget=this.getDropTarget(e);this.setCurrentAction(currentDropTarget?this._evalNewAction(e.getShiftKey(),e.getCtrlKey(),e.getAltKey()):null);this._fireUserEvents(this._k6.currentDropWidget,currentDropTarget,e);this._k6.currentDropWidget=currentDropTarget;this._renderCursor();}else if(!this._k6.hasFiredDragStart){if(Math.abs(e.getScreenX()-this._k6.startScreenX)>5||Math.abs(e.getScreenY()-this._k6.startScreenY)>5){this._k6.sourceWidget.dispatchEvent(new QxDragEvent("dragstart",e));this._k6.hasFiredDragStart=true;if(this._k6.dragHandlerActive){this._fireUserEvents(this._k6.currentDropWidget,this._k6.sourceWidget,e);this._k6.currentDropWidget=this._k6.sourceWidget;var clientDocument=window.application.getClientWindow().getClientDocument();clientDocument.setCapture(true);clientDocument.addEventListener("losecapture",this.cancelDrag,this);};};};};proto._handleMouseUp=function(e){if(!this._k6){return;};if(this._k6.dragHandlerActive){this._endDrag(this.getDropTarget(e),e);}else {this._k6=null;};};proto.handleKeyEvent=function(e){if(!this._k6){return;};switch(e.getType()){case "keydown":this._handleKeyDown(e);return;case "keyup":this._handleKeyUp(e);return;};};proto._handleKeyDown=function(e){if(e.getKeyCode()==QxKeyEvent.keys.esc){this.cancelDrag();}else if(this.getCurrentAction()!=null){switch(e.getKeyCode()){case QxKeyEvent.keys.shift:case QxKeyEvent.keys.ctrl:case QxKeyEvent.keys.alt:this.setAction(this._evalNewAction(e.getShiftKey(),e.getCtrlKey(),e.getAltKey()));this._renderCursor();};};};proto._handleKeyUp=function(e){var bShiftPressed=e.getKeyCode()==QxKeyEvent.keys.shift;var bCtrlPressed=e.getKeyCode()==QxKeyEvent.keys.strl;var bAltPressed=e.getKeyCode()==QxKeyEvent.keys.alt;if(bShiftPressed||bCtrlPressed||bAltPressed){if(this.getCurrentAction()!=null){this.setAction(this._evalNewAction(!bShiftPressed&&e.getShiftKey(),! bCtrlPressed&&e.getCtrlKey(),!bAltPressed&&e.getAltKey()));this._renderCursor();};};e.preventDefault();};proto.cancelDrag=function(e){this._endDrag(null,e);};proto.globalCancelDrag=function(){if(this._k6&&this._k6.dragHandlerActive){this._endDragCore();};};proto._endDrag=function(currentDestinationWidget,e){if(currentDestinationWidget){this._k5=e;this.setDestinationWidget(currentDestinationWidget);};this.getSourceWidget().dispatchEvent(new QxDragEvent("dragend",e));this._fireUserEvents(this._k6&&this._k6.currentDropWidget,null,e);this._endDragCore();};proto._endDragCore=function(){this.setCursor(null);var d=window.application.getClientWindow().getClientDocument();d.removeEventListener("losecapture",this.cancelDrag,this);d.setCapture(false);if(this._k6){this._k6.currentDropWidget=null;this._k6=null;};this.clearData();this.clearActions();this.setSourceWidget(null);this.setDestinationWidget(null);};proto._renderCursor=function(){var newCursor;switch(this.getCurrentAction()){case "move":newCursor=this._k3.move;break;case "copy":newCursor=this._k3.copy;break;case "alias":newCursor=this._k3.alias;break;default:newCursor=this._k3.nodrop;};newCursor._d3Horizontal(this._k6.pageX+5);newCursor._d3Vertical(this._k6.pageY+15);this.setCursor(newCursor);};proto._modifyCursor=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setStyleProperty("display","none");};if(_b1){_b1.removeStyleProperty("display");};return true;};proto.supportsDrop=function(vWidget){var types=vWidget.getDropDataTypes();if(!types){return false;};for(var i=0;i<types.length;i++){if(types[i]in this._k1){return true;};};return false;};if((new QxClient).isGecko()){proto.getDropTarget=function(e){var currentWidget=e.getTarget();if(currentWidget==this._k6.sourceWidget){currentWidget=this._k6.sourceTopLevel.getWidgetFromPoint(e.getPageX(),e.getPageY());}else {currentWidget=QxEventManager.getActiveTargetObject(null,currentWidget);};while(currentWidget!=null){if(this.supportsDrop(currentWidget)){return currentWidget;};currentWidget=currentWidget.getParent();};return null;};}else {proto.getDropTarget=function(e){var currentWidget=e.getActiveTarget();while(currentWidget!=null){if(this.supportsDrop(currentWidget)){return currentWidget;};currentWidget=currentWidget.getParent();};return null;};};proto.addAction=function(vAction,vForce){this._k2[vAction]=true;if(vForce||this.getCurrentAction()==null){this.setCurrentAction(vAction);};};proto.clearActions=function(){this._k2={};this.setCurrentAction(null);};proto.removeAction=function(sAction){delete this._k2[sAction];if(this.getCurrentAction()==sAction){this.setCurrentAction(null);};};proto.setAction=function(s){if(s!=null&&!(s in this._k2)){this.addAction(s,true);}else {this.setCurrentAction(s);};};proto._evalNewAction=function(kShift,kCtrl,kAlt){if(kShift&&kCtrl&&this._k4("alias")){return "alias";}else if(kShift&&kAlt&&this._k4("copy")){return "copy";}else if(kShift&&this._k4("move")){return "move";}else if(kAlt&&this._k4("alias")){return "alias";}else if(kCtrl&&this._k4("copy")){return "copy";}else {for(var action in this._k2){return action;};};return null;};proto._k4=function(vAction){return vAction in this._k2;};proto.dispose=function(){if(this.getDisposed()){return;};this._k1=null;this._k2=null;this.setSourceWidget(null);this.setDestinationWidget(null);this._lastdestinationWidgetEvent=null;this._k6=null;if(QxDragAndDropManager._k3){if(QxDragAndDropManager._k3.move){QxDragAndDropManager._k3.move.dispose();QxDragAndDropManager._k3.move=null;};if(QxDragAndDropManager._k3.copy){QxDragAndDropManager._k3.copy.dispose();QxDragAndDropManager._k3.copy=null;};if(QxDragAndDropManager._k3.alias){QxDragAndDropManager._k3.alias.dispose();QxDragAndDropManager._k3.alias=null;};if(QxDragAndDropManager._k3.nodrop){QxDragAndDropManager._k3.nodrop.dispose();QxDragAndDropManager._k3.nodrop=null;};QxDragAndDropManager._k3=null;};QxManager.prototype.dispose.call(this);};function QxContainer(vHtml){QxTerminator.call(this);if(isValid(vHtml)){this.setHtml(vHtml);};};QxContainer.extend(QxTerminator,"QxContainer");QxContainer.addProperty({name:"html",type:String});proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);if(_b1){return this._applyHtml();}else if(_b2){_b2.innerHTML="";};return true;};proto._modifyHtml=function(_b1,_b2,_b3,_b4){return this._applyHtml();};proto._applyHtml=function(){if(!this.isCreated()){return true;};var vHtml=this.getHtml();if(isValid(vHtml)){this.getElement().innerHTML=vHtml;this._invalidatePreferred("load");this._outerChanged("load");}else {this.getElement().innerHTML="";this._invalidatePreferred("unload");this._outerChanged("unload");};return true;};function QxAtom(vText,vIcon,vIconWidth,vIconHeight){QxWidget.call(this);this.setCanSelect(false);this.setWidth("auto");this.setHeight("auto");if(isValid(vText)){this.setText(vText);};if(isValid(vIcon)){this.setIcon(vIcon);if(isValid(vIconWidth)){this.setIconWidth(vIconWidth);};if(isValid(vIconHeight)){this.setIconHeight(vIconHeight);};};};QxAtom.extend(QxWidget,"QxAtom");QxAtom.addProperty({name:"text",type:String});QxAtom.addProperty({name:"icon",type:String});QxAtom.addProperty({name:"show",type:String,defaultValue:"both"});QxAtom.addProperty({name:"iconPosition",type:String,defaultValue:"left"});QxAtom.addProperty({name:"iconTextGap",type:Number,defaultValue:4});QxAtom.addProperty({name:"iconWidth",type:Number});QxAtom.addProperty({name:"iconHeight",type:Number});QxAtom.addProperty({name:"horizontalBlockAlign",type:String,defaultValue:"left"});QxAtom.addProperty({name:"verticalBlockAlign",type:String,defaultValue:"middle"});proto._c6=true;proto._c5=true;proto._c2=false;proto._c1=false;proto._f2=null;proto._f1=null;proto._modifyIcon=function(_b1,_b2,_b3,_b4){this._pureUpdateDisplayState();var o=this._f1;if(this._c1){if(o){o.setSource(_b1);o.setParent(this);}else if(this._wasVisible){this._e3Icon();};}else if(o){o.setParent(null);o.setSource(_b1);};return true;};proto._modifyText=function(_b1,_b2,_b3,_b4){this._pureUpdateDisplayState();var o=this._f2;if(this._c2){if(o){o.setHtml(_b1);o.setParent(this);}else if(this._wasVisible){this._e3Text();};}else if(o){o.setParent(null);o.setHtml(_b1);};return true;};proto._modifyShow=function(_b1,_b2,_b3,_b4){this._pureUpdateDisplayState();if(this._wasVisible){if(this._f2){this._f2.setParent(this._c2?this:null);};if(this._f1){this._f1.setParent(this._c1?this:null);};if(this._f2&&this._f1){if(this.getWidth()!="auto"){this._d1("show");};if(this.getHeight()!="auto"){this._d2("show");};};if(!this._f2&&this._c2){this._e3Text();};if(!this._f1&&this._c1){this._e3Icon();};};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){this._addCssClassName("QxAtomBase");if(this._c1&&!this._f1){this._e3Icon();};if(this._c2&&!this._f2){this._e3Text();};};return QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setEnabled(_b1);};if(this._f2){this._f2.setEnabled(_b1);};return QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};proto._modifyIconPosition=function(_b1,_b2,_b3,_b4){if(!this._wasVisible){return true;};if(1==1||this._c2&&this._c1){switch(_b1){case "left":if(_b2=="right"){return this._d1("icon-position");};break;case "right":if(_b2=="left"){return this._d1("icon-position");};break;case "top":if(_b2=="bottom"){return this._d2("icon-position");};break;case "bottom":if(_b2=="top"){return this._d2("icon-position");};break;};if(this.getWidth()=="auto"){this._setChildrenDependWidth(this,"icon-position");}else {this._d1("icon-position");};if(this.getHeight()=="auto"){this._setChildrenDependHeight(this,"icon-position");}else {this._d2("icon-position");};};return true;};proto._modifyIconTextGap=function(_b1,_b2,_b3,_b4){if(!this._wasVisible){return true;};if(this._c2&&this._c1){switch(this.getIconPosition()){case "left":case "right":return this.getWidth()=="auto"?this._setChildrenDependWidth(this,"icon-text-gap"):this._d1("icon-text-gap");case "top":case "bottom":return this.getHeight()=="auto"?this._setChildrenDependHeight(this,"icon-text-gap"):this._d2("icon-text-gap");};};return true;};proto._modifyHorizontalBlockAlign=function(_b1,_b2,_b3,_b4){if(!this._wasVisible||this.getWidth()=="auto"){return true;};return this._d1("align");};proto._modifyVerticalBlockAlign=function(_b1,_b2,_b3,_b4){if(!this._wasVisible||this.getHeight()=="auto"){return true;};return this._d2("align");};proto._e3Text=function(){var t=this._f2=new QxContainer(this.getText());t.setAnonymous(true);t.setEnabled(this.isEnabled());t.setTimerCreate(false);t.setParent(this);};proto._e3Icon=function(){var i=this._f1=new QxImage(this.getIcon(),this.getIconWidth(),this.getIconHeight());i.setAnonymous(true);i.setEnabled(this.isEnabled());i.setTimerCreate(false);i.setParent(this);};proto._pureUpdateDisplayState=function(){switch(this.getShow()){case "both":this._c6=this._c5=true;this._c1=this._hasIcon();this._c2=this._hasText();break;case "none":this._c6=this._c5=this._c1=this._c2=false;break;case "icon":this._c5=true;this._c1=this._hasIcon();this._c6=this._c2=false;break;case "text":this._c6=true;this._c2=this._hasText();this._c5=this._c1=false;break;default:throw new Error("Invalid value for show property:"+this.getShow());};};proto._hasText=function(){return isValid(this.getText());};proto._hasIcon=function(){return isValid(this.getIcon());};proto._setChildrenDependWidth=function(_e4,_e5){if(this._c1&&_e4==this._f1&&_e5=="unload"){return true;};var newWidth=this._d5Width(_e4,_e5);if(this._widthMode=="inner"&&this._widthModeValue==newWidth){if((_e5=="load"||_e5=="append-child")&&(_e4==this._f2||_e4==this._f1)){return this._d1(_e5);};}else {this.setInnerWidth(newWidth,null,true);};return true;};proto._setChildrenDependHeight=function(_e4,_e5){if(this._c1&&_e4==this._f1&&_e5=="unload"){return true;};var newHeight=this._d5Height(_e4,_e5);if(this._heightMode=="inner"&&this._heightModeValue==newHeight){if((_e5=="load"||_e5=="append-child")&&(_e4==this._f2||_e4==this._f1)){return this._d2(_e5);};}else {this.setInnerHeight(newHeight,null,true);};return true;};proto._d5Width=function(){return this._d5Helper("Width","left","right");};proto._d5Height=function(){return this._d5Helper("Height","top","bottom");};proto._d5Helper=function(vNameRangeUp,vNameStart,vNameStop){if(this._c2&&this._f2&&this._f2.getParent()!=this){return null;};if(this._c1&&this._f1&&this._f1.getParent()!=this){return null;};if(this._c1&&(!this._f1||(!this._f1.getLoaded()&&isInvalid(this._f1["get"+vNameRangeUp]())))){return null;};if(this._c2&&this._c1){switch(this.getIconPosition()){case vNameStart:case vNameStop:return this._f2["getAny"+vNameRangeUp]()+this.getIconTextGap()+this._f1["getAny"+vNameRangeUp]();default:return Math.max(Math.max(this._f2["getAny"+vNameRangeUp](),this._f1["getAny"+vNameRangeUp]()),0);};}else if(this._c2){return this._f2["getAny"+vNameRangeUp]();}else if(this._c1){return this._f1["getAny"+vNameRangeUp]();}else {return 0;};};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");var ch=this._a2;var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc!=this._f2&&chc!=this._f1){chc._renderHorizontal("parent");};};};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");var ch=this._a2;var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc!=this._f2&&chc!=this._f1){chc._renderVertical("parent");};};};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};switch(_e5){case "position-and-size":case "position":case "size":break;default:if(this.getWidth()=="auto"){return this._setChildrenDependWidth(vModifiedChild,_e5);}else {this._d1(_e5);};};QxWidget.prototype._childOuterWidthChanged.call(this,vModifiedChild,_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};switch(_e5){case "position-and-size":case "position":case "size":break;default:if(this.getHeight()=="auto"){return this._setChildrenDependHeight(vModifiedChild,_e5);}else {this._d2(_e5);};};QxWidget.prototype._childOuterHeightChanged.call(this,vModifiedChild,_e5);};proto._d1=function(_e5){return this._layoutInternalWidgetsHelper(_e5,"Width","Horizontal","left","right","Left");};proto._d2=function(_e5){return this._layoutInternalWidgetsHelper(_e5,"Height","Vertical","top","bottom","Top");};proto._layoutInternalWidgetsHelper=function(_e5,vNameRangeUp,vDirection,vNameStart,vNameStop,vPaddingStartUp){try{var vTextPos=0;var vIconPos=0;var vBoxSize;if(this._c2&&this._c1){if(!this._f2||!this._f1){return;};var vTextSize=this._f2["getAny"+vNameRangeUp]();var vIconSize=this._f1["getAny"+vNameRangeUp]();switch(this.getIconPosition()){case vNameStart:vTextPos=vIconSize+this.getIconTextGap();vBoxSize=vTextPos+vTextSize;break;case vNameStop:vIconPos=vTextSize+this.getIconTextGap();vBoxSize=vIconPos+vIconSize;break;default:if(vTextSize>vIconSize){vIconPos=(vTextSize-vIconSize)/2;}else {vTextPos=(vIconSize-vTextSize)/2;};vBoxSize=Math.max(vTextSize,vIconSize);};}else if(this._c2){vBoxSize=this._f2["getAny"+vNameRangeUp]();}else if(this._c1){vBoxSize=this._f1["getAny"+vNameRangeUp]();}else {return;};var vBoxPos=this["getComputedPadding"+vPaddingStartUp]();switch(this["get"+vDirection+"BlockAlign"]()){case "center":case "middle":vBoxPos+=(this["getInner"+vNameRangeUp]()-vBoxSize)/2;break;case "right":case "bottom":vBoxPos+=this["getInner"+vNameRangeUp]()-vBoxSize;break;};vIconPos+=vBoxPos;vTextPos+=vBoxPos;if(this._f1){this._f1["_d3"+vDirection](vIconPos);};if(this._f2){this._f2["_d3"+vDirection](vTextPos);};}catch(ex){throw new Error("Failed to internal render widgets:"+ex);};return true;};proto._onnewchild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"append-child"):this._d1("append-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"append-child"):this._d2("append-child");};proto._onremovechild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"remove-child"):this._d1("remove-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"remove-child"):this._d2("remove-child");};proto._cloneRecursive=function(cloneInstance){var ch=this.getChildren();var chl=ch.length;var chc;var cloneChild;for(var i=0;i<chl;i++){chc=ch[i];if(chc!=this._f1&&chc!=this._f2){cloneChild=chc.clone(true);cloneInstance.add(cloneChild);};};};proto.getPreferredWidth=function(){if(this.getWidth()=="auto"){if(!this._wasVisible){this._renderHorizontal("initial");};return this._pixelof_width;};if(this._preferred_width==null&&this.getChildrenLength()>0){this._preferred_width=this._d5Width()+this.getComputedPaddingLeft()+this.getComputedPaddingRight()+this.getComputedInsetLeft()+this.getComputedInsetRight();};return this._preferred_width;};proto.getPreferredHeight=function(){if(this.getHeight()=="auto"){if(!this._wasVisible){this._renderVertical("initial");};return this._pixelof_height;};if(this._preferred_height==null&&this.getChildrenLength()>0){this._preferred_height=this._d5Height()+this.getComputedPaddingTop()+this.getComputedPaddingBottom()+this.getComputedInsetTop()+this.getComputedInsetBottom();};return this._preferred_height;};proto.dispose=function(){if(this.getDisposed()){return true;};if(this._f1){this._f1.dispose();this._f1=null;};if(this._f2){this._f2.dispose();this._f2=null;};this._c6=this._c5=this._c2=this._c1=null;return QxWidget.prototype.dispose.call(this);};function QxButton(vText,vIcon){QxAtom.call(this,vText,vIcon);this.setCanSelect(false);this.setTabIndex(1);this.setBorder(QxBorder.presets.outset);this.addEventListener("mouseover",this._onmouseover,this);this.addEventListener("mouseout",this._onmouseout,this);this.addEventListener("mousedown",this._g1,this);this.addEventListener("mouseup",this._g2,this);this.addEventListener("keydown",this._g4,this);this.addEventListener("click",this._g3,this);};QxButton.extend(QxAtom,"QxButton");proto._onmouseover=function(e){if(e.getActiveTarget()!=this){return;};this.setState(this._pressed?"pressed":"hover");e.stopPropagation();};proto._onmouseout=function(e){if(e.getActiveTarget()!=this){return;};this.setState(null);e.stopPropagation();};proto._g1=function(e){this._pressed=true;this.setCapture(true);this.setState("pressed");};proto._g2=function(e){delete this._pressed;this.setCapture(false);this.setState(null);e.stopPropagation();};proto._g4=function(e){if(e.getKeyCode()==QxKeyEvent.keys.enter){this.execute();};};proto._g3=function(e){this.execute();};proto._modifyState=function(_b1,_b2,_b3,_b4){switch(_b1){case "pressed":this.setBorder(QxBorder.presets.inset);break;case "hover":break;default:this.setBorder(QxBorder.presets.outset);};return QxAtom.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mouseover",this._onmouseover,this);this.removeEventListener("mouseout",this._onmouseout,this);this.removeEventListener("mousedown",this._g1,this);this.removeEventListener("mouseup",this._g2,this);return QxAtom.prototype.dispose.call(this);};function QxRadioButtonManager(vName,vMembers){QxTarget.call(this);this._items=[];this._managerId=this.classname+(++QxRadioButtonManager._managerCount);if(isValid(vName)){this.setName(vName);};if(isValid(vMembers)){QxRadioButtonManager.prototype.add.apply(this,vMembers);};};QxRadioButtonManager._managerCount=0;QxRadioButtonManager.extend(QxManager,"QxRadioButtonManager");QxRadioButtonManager.addProperty({name:"selected",type:Object});QxRadioButtonManager.addProperty({name:"name",type:String});proto.getItems=function(){return this._items;};proto.add=function(){var a=arguments;var l=a.length;var lastOne=a[l-1];if(lastOne instanceof QxWidget){var _b4;}else {var _b4=lastOne;l--;};var oRadioButton;for(var i=0;i<l;i++){oRadioButton=a[i];if(this._items.contains(oRadioButton)){return;};this._items.push(oRadioButton);oRadioButton.setGroup(this,_b4);if(oRadioButton.getChecked()){this.setSelected(oRadioButton,_b4);};oRadioButton.setEnabled(this.getEnabled(),_b4);oRadioButton.setName(this.getName(),_b4);};};proto.remove=function(oRadioButton,_b4){this._items.remove(oRadioButton);oRadioButton.setGroup(null,_b4);if(oRadioButton.getChecked()){this.setSelected(null);};};proto._modifySelected=function(_b1,_b2,_b3,_b4){if(_b2&&_b2.getChecked()){_b2.setChecked(false,_b4);};if(_b1&&!_b1.getChecked()){_b1.setChecked(true,_b4);};return true;};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){for(var i=0;i<this._items.length;i++){this._items[i].setEnabled(_b1,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){for(var i=0;i<this._items.length;i++){this._items[i].setName(_b1,_b4);};return true;};proto.selectNext=function(oRadioButton){var index=this._items.indexOf(oRadioButton);if(index==-1)return;var i=0;var l=this._items.length;index=(index+1)% l;while(i<l&&! this._items[index].getEnabled()){index=(index+1)% l;i++;};this._selectByIndex(index);};proto.selectPrevious=function(oRadioButton){var index=this._items.indexOf(oRadioButton);if(index==-1)return;var i=0;var l=this._items.length;index=(index-1+l)% l;while(i<l&&! this._items[index].getEnabled()){index=(index-1+l)% l;i++;};this._selectByIndex(index);};proto._selectByIndex=function(index){if(this._items[index].getEnabled()){this.setSelected(this._items[index]);this._items[index].setFocused(true);};};proto.dispose=function(){if(this._disposed){return;};if(this._items){for(var i;i<this._items.length;i++){this._items[i].dispose();delete this._items[i];};};delete this._items;delete this._managerId;return QxTarget.prototype.dispose.call(this);};function QxInputCheckIcon(){QxWidget.call(this);this.setTagName("INPUT");this.setCanSelect(false);this.setTabIndex(-1);};QxInputCheckIcon.extend(QxWidget,"QxInputCheckIcon");QxInputCheckIcon.addProperty({name:"name",type:String,impl:"apply"});QxInputCheckIcon.addProperty({name:"value",impl:"apply"});QxInputCheckIcon.addProperty({name:"type",impl:"apply"});QxInputCheckIcon.addProperty({name:"checked",type:Boolean,defaultValue:false,impl:"apply",getAlias:"isChecked"});proto._modifyApply=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty(_b3,_b1);};proto.isLoaded=proto.getLoaded=function(){return true;};proto.getPreferredWidth=function(){return 13;};proto.getPreferredHeight=function(){return 13;};function QxCheckBox(vText,vValue,vName,vChecked){QxAtom.call(this,vText);this.setTabIndex(1);if(isValid(vValue)){this.setValue(vValue);};if(isValid(vName)){this.setName(vName);};if(isValid(vChecked)){this.setChecked(vChecked);};this.addEventListener("click",this._g3);this.addEventListener("keydown",this._g4);this.addEventListener("keyup",this._g5);};QxCheckBox.extend(QxAtom,"QxCheckBox");QxCheckBox.removeProperty({name:"icon"});QxCheckBox.addProperty({name:"name",type:String});QxCheckBox.addProperty({name:"value",type:String});QxCheckBox.addProperty({name:"checked",type:Boolean,defaultValue:false,getAlias:"isChecked"});proto._c1=true;proto._modifyIcon=null;proto._hasIcon=function(){return true;};proto._e3Icon=function(){var i=this._f1=new QxInputCheckIcon();i.setType("checkbox");i.setChecked(this.isChecked());i.setEnabled(this.isEnabled());i.setAnonymous(true);i.setParent(this);};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setChecked(_b1);};return true;};if((new QxClient).isMshtml()){proto._modifyVisible=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);if(this._f1&&_b1){this._f1.getElement().checked=this.getChecked();};return true;};};proto._g3=function(e){var t=e.getDomTarget();this.setChecked(t.tagName=="input"?t.checked:!this.isChecked());};proto._g4=function(e){if(e.getKeyCode()==QxKeyEvent.keys.enter&&!e.getAltKey()){this.setChecked(this._f1?!this._f1.isChecked():!this.isChecked());};};proto._g5=function(e){if(e.getKeyCode()==QxKeyEvent.keys.space){this.setChecked(this._f1?!this._f1.isChecked():!this.isChecked());};};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("click",this._g3);this.removeEventListener("keydown",this._g4);this.removeEventListener("keyup",this._g5);return QxAtom.prototype.dispose.call(this);};function QxRadioButton(vText,vValue,vName,vChecked,vGroup){QxCheckBox.call(this,vText,vValue,vName,vChecked);if(isValid(vGroup)){this.setGroup(vGroup);};};QxRadioButton.extend(QxCheckBox,"QxRadioButton");QxRadioButton.addProperty({name:"group"});proto._e3Icon=function(){var i=this._f1=new QxInputCheckIcon();i.setType("radio");i.setChecked(this.isChecked());i.setEnabled(this.isEnabled());i.setAnonymous(true);i.setParent(this);};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setChecked(_b1,_b4);};if(this.getGroup()){this.getGroup().setSelected(this,_b4);};return true;};proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){if(this.isCreated()&&this._f1){this._f1.setName(_b1,_b4);};if(this.getGroup()){this.getGroup().setName(_b1,_b4);};return true;};proto._modifyValue=function(_b1,_b2,_b3,_b4){if(this.isCreated()&&this._f1){this._f1.setValue(_b1,_b4);};return true;};proto._g4=function(e){switch(e.getKeyCode()){case QxKeyEvent.keys.enter:if(!e.getAltKey()){this.setChecked(this._f1?!this._f1.isChecked():!this.isChecked());};break;case QxKeyEvent.keys.left:case QxKeyEvent.keys.up:return this.getGroup()?this.getGroup().selectPrevious(this):true;case QxKeyEvent.keys.right:case QxKeyEvent.keys.down:return this.getGroup()?this.getGroup().selectNext(this):true;};};proto._g3=function(e){this.setChecked(true);};proto.dispose=function(){if(this.getDisposed()){return;};return QxCheckBox.prototype.dispose.call(this);};function QxPopupManager(){if(QxPopupManager._instance){return QxPopupManager._instance;};QxManager.call(this);QxPopupManager._instance=this;};QxPopupManager.extend(QxManager,"QxPopupManager");proto.update=function(oTarget){var p;for(var vHash in this._objects){p=this._objects[vHash];if(!p.getAutoHide()){continue;};if(!oTarget||p!=oTarget&&(!p.contains(oTarget)||p.getVisible())&&new Date-p.getShowTimeStamp()>100){p.setVisible(false);};};};function QxPopup(vText,vIcon){QxAtom.call(this,vText,vIcon);this.setZIndex(this._minZindex);};QxPopup.extend(QxAtom,"QxPopup");QxPopup.addProperty({name:"autoHide",type:Boolean,defaultValue:true});proto._minZindex=1e6;proto._showTimeStamp=new Date(0);proto._hideTimeStamp=new Date(0);proto._popupManager=new QxPopupManager();proto._beforeShow=function(_b4){QxAtom.prototype._beforeShow.call(this,_b4);this._popupManager.add(this);this._popupManager.update(this);this._showTimeStamp=new Date;this.bringToFront();};proto._beforeHide=function(_b4){QxAtom.prototype._beforeHide.call(this,_b4);this.sendToBack();this._popupManager.remove(this);this._hideTimeStamp=new Date;};proto._makeActive=function(){(new QxApplication).setActiveWidget(this);};proto._makeInactive=function(){var vApp=new QxApplication;if(vApp.getActiveWidget()==this){vApp.setActiveWidget(vApp.getClientWindow().getClientDocument());};};proto._shouldBecomeCreated=function(){return false;};proto.getCanFocus=function(){return false;};if((new QxClient).isMshtml()){proto.sendToBack=function(){if(!this.isCreated()||!this.getParent()){return;};var min=Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.children;var zi;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){zi=cs[i].currentStyle.zIndex;if(zi>this._minZindex){min=Math.min(min,zi);};};};this.setZIndex(min-1);};proto.bringToFront=function(){if(!this.isCreated()||!this.getParent()){return;};var max=-Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.children;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){max=Math.max(max,cs[i].currentStyle.zIndex);};};this.setZIndex(max+1);};}else {proto.sendToBack=function(){if(!this.isCreated()||!this.getParent()){return;};var min=Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.childNodes;var view=d.defaultView;var zi;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){zi=cs[i].style.zIndex;if(zi==""||isNaN(zi)){zi=view.getComputedStyle(cs[i],"").zIndex;if(zi==""||isNaN(zi)){zi=0;};};if(zi>this._minZindex){min=Math.min(min,zi);};};};this.setZIndex(min-1);};proto.bringToFront=function(){if(!this.isCreated()||!this.getParent()){return;};var max=-Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.childNodes;var view=d.defaultView;var zi;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){zi=cs[i].style.zIndex;if(zi==""||isNaN(zi)){zi=view.getComputedStyle(cs[i],"").zIndex;if(zi==""||isNaN(zi)){zi=0;};};max=Math.max(max,zi);};};this.setZIndex(max+1);};};proto.getShowTimeStamp=function(){return this._showTimeStamp;};proto.getHideTimeStamp=function(){return this._hideTimeStamp;};proto.dispose=function(){if(this.getDisposed()){return;};if(this._popupManager){this._popupManager.remove(this);this._popupManager=null;};return QxAtom.prototype.dispose.call(this);};function QxToolTipManager(){if(QxToolTipManager._instance)return QxToolTipManager._instance;QxManager.call(this);QxToolTipManager._instance=this;};QxToolTipManager.extend(QxManager,"QxToolTipManager");QxToolTipManager.addProperty({name:"currentToolTip"});proto._modifyCurrentToolTip=function(_b1,_b2,_b3,_b4){if(_b2&&_b2.contains(_b1)){return;};if(_b2){_b2.setVisible(false);_b2._stopShowTimer();_b2._stopHideTimer();};if(_b1){_b1._startShowTimer();};return true;};proto.handleMouseOver=function(e){var to=e.getTarget();var c=to;var tt;if(!(c instanceof QxWidget)&&c.nodeType==1){c=QxEventManager.getTargetObject(c);};while(c!=null&&!(tt=c.getToolTip())){c=c.getParent();};if(tt!=null){tt.setBoundToWidget(c);};this.setCurrentToolTip(tt);};proto.handleMouseOut=function(e){var to=e.getRelatedTarget();var from=e.getTarget();var cur=this.getCurrentToolTip();if(cur&&(to==cur||cur.contains(to))){return;};if(to&&from.contains(to)){return;};if(cur&&!to){this.setCurrentToolTip(null);};};proto.handleFocus=function(e){var c=e.getTarget();var tt=c.getToolTip();if(tt!=null){tt.setBoundToWidget(c);this.setCurrentToolTip(tt);};};proto.handleBlur=function(e){var c=e.getTarget();if(!c){return;};var tt=c.getToolTip();var cur=this.getCurrentToolTip();if(cur&&cur==tt){this.setCurrentToolTip(null);};};function QxToolTip(text,icon){QxPopup.call(this,text,icon);this._showTimer=new QxTimer(this.getShowInterval());this._showTimer.addEventListener("interval",this._onshowtimer,this);this._hideTimer=new QxTimer(this.getHideInterval());this._hideTimer.addEventListener("interval",this._onhidetimer,this);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseover);};QxToolTip.extend(QxPopup,"QxToolTip");QxToolTip.addProperty({name:"hideOnHover",type:Boolean,defaultValue:true});QxToolTip.addProperty({name:"mousePointerOffsetLeft",type:Number,defaultValue:4});QxToolTip.addProperty({name:"mousePointerOffsetTop",type:Number,defaultValue:22});QxToolTip.addProperty({name:"mousePointerOffsetRight",type:Number,defaultValue:0});QxToolTip.addProperty({name:"mousePointerOffsetBottom",type:Number,defaultValue:-2});QxToolTip.addProperty({name:"showInterval",type:Number,defaultValue:1000});QxToolTip.addProperty({name:"hideInterval",type:Number,defaultValue:4000});QxToolTip.addProperty({name:"axisToleranceX",type:Number,defaultValue:0.7});QxToolTip.addProperty({name:"axisToleranceY",type:Number,defaultValue:0.7});QxToolTip.addProperty({name:"boundToWidget"});proto._toolTipManager=new QxToolTipManager();proto._minZindex=1e7;proto._modifyHideInterval=function(_b1,_b2,_b3,_b4){this._hideTimer.setInterval(nHideInterval);return true;};proto._modifyShowInterval=function(_b1,_b2,_b3,_b4){this._showTimer.setInterval(nShowInterval);return true;};proto._modifyBoundToWidget=function(_b1,_b2,_b3,_b4){if(_b1){this.setParent(_b1.getTopLevelWidget());}else if(_b2){this.setParent(null);};return true;};proto._startShowTimer=function(){if(!this._showTimer.getEnabled()){this._showTimer.start();};};proto._startHideTimer=function(){if(!this._hideTimer.getEnabled()){this._hideTimer.start();};};proto._stopShowTimer=function(){if(this._showTimer.getEnabled()){this._showTimer.stop();};};proto._stopHideTimer=function(){if(this._hideTimer.getEnabled()){this._hideTimer.stop();};};proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){this._stopShowTimer();this._startHideTimer();}else {this._stopHideTimer();};return QxPopup.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto._onmouseover=function(e){if(this.getHideOnHover()){this.setVisible(false);};};proto._onshowtimer=function(e){var ex=QxMouseEvent.getPageX();var ey=QxMouseEvent.getPageY();if(ex<(QxDOM.getWindowInnerWidth()*this.getAxisToleranceX())){this.setRight(null);this.setLeft(ex+this.getMousePointerOffsetLeft());}else {this.setLeft(null);this.setRight(QxDOM.getWindowInnerWidth()-ex-this.getMousePointerOffsetRight());};if(ey<(QxDOM.getWindowInnerHeight()*this.getAxisToleranceY())){this.setBottom(null);this.setTop(ey+this.getMousePointerOffsetTop());}else {this.setTop(null);this.setBottom(QxDOM.getWindowInnerHeight()-ey-this.getMousePointerOffsetBottom());};this.setVisible(true);return true;};proto._onhidetimer=function(e){return this.setVisible(false);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mouseover",this._onmouseover);this.removeEventListener("mouseout",this._onmouseover);if(this._showTimer){this._showTimer.removeEventListener("interval",this._onshowtimer,this);this._showTimer.dispose();this._showTimer=null;};if(this._hideTimer){this._hideTimer.removeEventListener("interval",this._onhidetimer,this);this._hideTimer.dispose();this._hideTimer=null;};return QxPopup.prototype.dispose.call(this);};function QxForm(){QxWidget.call(this);this.setTagName("FORM");};QxForm.extend(QxWidget,"QxForm");function QxListView(columns){QxWidget.call(this);this._columns=typeof columns=="object"&&columns!=null?columns:[];this._columnsLength=this._columns.length-1;this._k1=[];this._selection={};this._selectionLength=0;this._selectionMode="none";this._fragment=QxListView._useFragment?document.createDocumentFragment():document.createElement("div");this._rowCreateQueue=[];this._rowCreateTimer=new QxTimer(10);this._rowCreateTimer.addEventListener("interval",this._onrowcreate,this);this._rowCreateTimer.start();this._rowAppendQueue=[];this._rowAppendTimer=new QxTimer(100);this._rowAppendTimer.addEventListener("interval",this._onrowappend,this);this._rowAppendTimer.start();this._scrollSmoothTimer=new QxTimer(1);this._scrollSmoothTimer.addEventListener("interval",this._onscrollsmooth,this);if((new QxClient).isOpera()){this._scrollEmuTimer=new QxTimer(100);this._scrollEmuTimer.addEventListener("interval",this._onscrollemu,this);this._scrollEmuTimer.start();};this._nodeRowCache=[];this._nodeHeaderColsCache=[];this._nodeContentColsCache=[];this._nodeHeaderCellCache=[];this._nodeContentFirstRowCellCache=[];this._nodeHeaderInnerTableCache=[];this._nodeHeaderInnerTextCellCache=[];this._nodeHeaderInnerTextBoxCache=[];this._nodeHeaderInnerSortCellCache=[];this._nodeHeaderInnerSortIconCache=[];this.addEventListener("click",this._g3);this.addEventListener("mousewheel",this._onmousewheel);};QxListView.extend(QxWidget,"QxListView");QxListView._useFragment=Boolean(document.createDocumentFragment);proto._initialRowCount=100;proto._perLoopRowCreateCount=5;proto._perLoopRowAppendCount=100;proto._modifyElement=function(_b1,_b2,_b3,_b4){this._contentProtoRow=QxListView._contentProtoRow.cloneNode(true);QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);this._header=QxListView._headerProtoFrame.cloneNode(true);this._headerTable=this._header.firstChild;this._headerColGroup=this._headerTable.firstChild;this._headerBody=this._headerTable.lastChild;this._headerRow=this._headerBody.firstChild;this._headerStyle=this._header.style;this._headerTableStyle=this._headerTable.style;_b1.appendChild(this._header);this._content=QxListView._contentProtoFrame.cloneNode(true);this._contentTable=this._content.firstChild;this._contentColGroup=this._contentTable.firstChild;this._contentBody=this._contentTable.lastChild;var o=this;this._content.onscroll=function(){o._onscroll();};_b1.appendChild(this._content);this._cacheAdditionalColumnData();try{var d=this._columns;var l=d.length;for(var i=0;i<l;i++){this._addColumn(d[i]);};}catch(ex){throw new Error("Failed to apply columns:"+ex);};var q=this._rowCreateQueue;var l=Math.min(this._initialRowCount-1,q.length);for(var i=0;i<l;i++){this._contentBody.appendChild(this._createRow(q.shift()));};this._renderTableLayoutInitial();return true;};proto._cacheAdditionalColumnData=function(){var d=this._columns;var l=d.length;var c;for(var i=0;i<l;i++){c=d[i];c.contentType=typeof c.content;c.contentLength=c.content.length-1;c.hasStaticWidth=typeof c.width=="number";c.hasDynamicWidth=!c.hasStaticWidth;c.hasScaleWidth=c.width=="scale";c.hasScaleFactor=typeof c.scaleFactor=="number";c.hasMaxWidthLimit=typeof c.maxWidth=="number";c.hasMinWidthLimit=typeof c.minWidth=="number";if(c.hasStaticWidth&&c.hasScalingWidth){throw new Error("Malformed column dimensions![1:static scaling conflict]");};if(c.hasMinWidthLimit&&c.hasMaxWidthLimit&&c.maxWidth<=c.minWidth){throw new Error("Malformed column dimensions![2:min max conflict]");};if(c.hasScalingFactor&&!c.hasScalingWidth){throw new Error("Malformed column dimensions![3:scaling conflict]");};};};proto._onrowcreate=function(){if(!this.isCreated()){return;};var q=this._rowCreateQueue;var l=q.length-1;if(l==-1){this._rowCreateTimer.stop();return;};l=Math.min(this._perLoopRowCreateCount,l);do{this._fragment.appendChild(this._createRow(q.shift()));}while(l--);};proto._onrowappend=function(){if(this._fragment.childNodes.length>this._perLoopRowAppendCount){this._onrowappenddo();return;};if(this._rowCreateQueue.length==0){this._onrowappenddo();this._rowAppendTimer.stop();if(this.hasEventListeners("complete")){this.dispatchEvent(new QxEvent("complete"),true);};return;};};if(QxListView._useFragment){proto._onrowappenddo=function(){this._contentBody.appendChild(this._fragment);};}else {proto._onrowappenddo=function(){var f=this._fragment;var l=f.childNodes.length;for(var i=0;i<l;i++){this._contentBody.appendChild(f.firstChild);};};};proto.addData=function(entry){this._validateData(entry);entry.hash="h"+String(Math.round(Math.random()*1e6));entry.pos=this._k1.length;this._k1.push(entry);this._rowCreateQueue.push(entry);};proto._validateData=function(entry){var currentColumn,currentContent,currentContentLength,currentId,currentDefaults,arrayEntry;var columns=this._columns,columnsLength=columns.length;var i,j;for(i=0;i<columnsLength;i++){currentColumn=columns[i];currentContent=currentColumn.content;currentId=currentColumn.id;switch(typeof currentContent){case "string":if(typeof entry[currentId]=="undefined"){if(typeof currentColumn.defaultValue!="undefined"){entry[currentId]=currentColumn.defaultValue;}else{entry[currentId]=this._validateDataDefaultGetter(currentContent);};};break;case "number":case "boolean":if(typeof entry[currentId]=="undefined"){if(typeof currentColumn.defaultValue!="undefined"){entry[currentId]=String(currentColumn.defaultValue);}else{entry[currentId]=String(this._validateDataDefaultGetter(currentContent));};};break;case "object":arrayEntry=entry[currentId];currentDefaults=currentColumn.defaultValues;currentContentLength=currentContent.length;switch(typeof arrayEntry){case "object":if(currentDefaults){for(j=0;j<currentContentLength;j++){switch(typeof arrayEntry[j]){case "number":case "boolean":arrayEntry[j]=String(arrayEntry[j]);break;case "undefined":arrayEntry[j]=typeof currentDefaults[j]!="undefined"?currentDefaults[j]:this._validateDataDefaultGetter(currentContent[j]);break;};};}else {for(j=0;j<currentContentLength;j++){switch(typeof arrayEntry[j]){case "number":case "boolean":arrayEntry[j]=String(arrayEntry[j]);break;case "undefined":arrayEntry[j]=this._validateDataDefaultGetter(currentContent[j]);break;};};};break;default:arrayEntry=entry[currentId]=[];if(currentDefaults){for(j=0;j<currentContentLength;j++){arrayEntry.push(typeof currentDefaults[j]!="undefined"?currentDefaults[j]:this._validateDataDefaultGetter(currentContent[j]));};}else{for(j=0;j<currentContentLength;j++){arrayEntry.push(this._validateDataDefaultGetter(currentContent[j]));};};break;};break;default:throw new Error("Unsupported content type:"+currentType);};};};proto._validateDataDefaultGetter=function(cType){switch(cType){case "text":return String.fromCharCode(160);case "image":return(new QxImageManager).buildURI("core/blank.gif");default:throw new Error("No default Value available for content:"+cType);};};proto._pushSingleElementDo=function(parentNode,elemNode){parentNode.appendChild(elemNode);return true;};proto._pushSingleElement=function(parentNode,elemType){switch(elemType){case "text":return this._pushSingleElementDo(parentNode,QxListView._protoTypeElements.text.cloneNode(true));case "image":return this._pushSingleElementDo(parentNode,QxListView._protoTypeElements.image.cloneNode(true));default:throw new Error("Unsupported type:"+elemType);};};proto._pushElements=function(parentNode,contentInfo){if(typeof contentInfo=="object"){var contentInfoLength=contentInfo.length;for(var i=0;i<contentInfoLength;i++){this._pushSingleElement(parentNode,contentInfo[i]);};}else if(typeof contentInfo=="string"){this._pushSingleElement(parentNode,contentInfo);}else {this.debug("Unknown type:"+contentInfo);};};proto._addColumn=function(colData){var headerCell=QxListView._headerProtoCell.cloneNode(true);var headerInnerTable=headerCell.firstChild;var headerInnerRow=headerInnerTable.firstChild.firstChild;var headerInnerTextCell=headerInnerRow.firstChild;var headerInnerTextBox=headerInnerTextCell.firstChild;var headerInnerSortCell=headerInnerRow.lastChild;var headerInnerSortImage=headerInnerSortCell.firstChild;var contentCell=QxListView._contentProtoCell.cloneNode(true);var contentBox=contentCell.firstChild;if(colData.image){var i=new Image();i.src=colData.image;if(typeof colData.imageWidth!="undefined")i.width=colData.imageWidth;if(typeof colData.imageHeight!="undefined")i.height=colData.imageHeight;headerInnerTextBox.appendChild(i);};if(colData.label){headerInnerTextBox.appendChild(document.createTextNode(colData.label));};this._pushElements(contentBox,colData.content);this._headerRow.appendChild(headerCell);this._contentProtoRow.appendChild(contentCell);var headerCol=document.createElement("col");this._headerColGroup.appendChild(headerCol);this._nodeHeaderColsCache.push(headerCol);var contentCol=document.createElement("col");this._contentColGroup.appendChild(contentCol);this._nodeContentColsCache.push(contentCol);if(typeof this._nodeRowCache=="undefined"){this._nodeRowCache=[];};var j=this._contentProtoRow.childNodes.length-1;this._nodeRowCache[j]=[];for(var i=0;i<contentBox.childNodes.length;i++){this._nodeRowCache[j].push(contentBox.childNodes[i]);};this._nodeHeaderCellCache.push(headerCell);this._nodeHeaderInnerTableCache.push(headerInnerTable);this._nodeHeaderInnerTextCellCache.push(headerInnerTextCell);this._nodeHeaderInnerTextBoxCache.push(headerInnerTextBox);this._nodeHeaderInnerSortCellCache.push(headerInnerSortCell);this._nodeHeaderInnerSortIconCache.push(headerInnerSortImage);var classNamePart=colData.id.toFirstUp();QxDOM.addClass(headerCell,"QxListViewHeaderCell-"+classNamePart);QxDOM.addClass(contentCell,"QxListViewContentCell-"+classNamePart);};proto._createRowDo=function(elemType,elemNode,elemContent){try{switch(elemType){case "text":elemNode.nodeValue=elemContent;break;case "image":elemNode.src=elemContent;break;default:throw new Error("Unsupported type #2:"+elemType);};}catch(ex){throw new Error("Failed to add Row:"+elemType+","+elemNode+","+elemContent+":"+ex);};};proto._createRow=function(rowData,rowTarget){var col,cols=this._columns,i=this._columnsLength,base;try{do {col=cols[i];base=this._nodeRowCache[i];switch(col.contentType){case "string":this._createRowDo(col.content,base[0],rowData[col.id]);break;case "object":j=col.contentLength;do{this._createRowDo(col.content[j],base[j],rowData[col.id][j]);}while(j--);break;};}while(i--);}catch(ex){throw new Error("Failed on column:"+i+":"+ex);};var newRow=this._contentProtoRow.cloneNode(true);newRow.style.display="";newRow._k1=rowData;return newRow;};proto.setSelection=function(newSelection,oldSelection){var i;var toSelect=[];var newSelectionLength=0;for(i in newSelection){if(!oldSelection[i]){toSelect.push(i);};newSelectionLength++;};var toDeselect=[];for(i in oldSelection){if(!newSelection[i]){toDeselect.push(i);};};var ch=this._contentBody.childNodes;var toSelectLength=toSelect.length;for(i=0;i<toSelectLength;i++){QxDOM.addClass(ch[toSelect[i]],"QxListViewContentRowSelected");};var toDeselectLength=toDeselect.length;for(i=0;i<toDeselectLength;i++){QxDOM.removeClass(ch[toDeselect[i]],"QxListViewContentRowSelected");};var changeSelectionLength=this._selectionLength!=newSelectionLength;if(changeSelectionLength){var newSelectionMode=this._evalSelectionMode(newSelectionLength);var changeSelectionMode=this._selectionMode!=newSelectionMode;};this._selection=newSelection;if(changeSelectionLength){this._selectionLength=newSelectionLength;if(changeSelectionMode){this._selectionMode=newSelectionMode;};};if(this.hasEventListeners("changeSelection")){this.dispatchEvent(new QxDataEvent("changeSelection",this._selection),true);};if(changeSelectionLength){if(this.hasEventListeners("changeSelectionLength")){this.dispatchEvent(new QxDataEvent("changeSelectionLength",this._selectionLength),true);};if(changeSelectionMode){if(this.hasEventListeners("changeSelectionMode")){this.dispatchEvent(new QxDataEvent("changeSelectionMode",this._selectionMode),true);};};};};proto.getSelection=function(){return this._selection;};proto.getSelectionLength=function(){return this._selectionLength;};proto.getSelectionMode=function(){return this._selectionMode;};proto._evalSelectionMode=function(l){switch(l){case 0:return "none";case 1:return "single";default:return "multi";};};proto._lastSelect=null;proto._g3=function(e){if(this.getContextMenu()){this.getContextMenu().setVisible(false);};var r=e.getDomTarget();var m=this.getElement();while(r!=m&&(r.nodeType!=1||r.tagName!="TR")){if(r.tagName=="TH"){return;};r=r.parentNode;};if(isInvalid(r._k1)){this.debug("Not a valid row:"+r);return;};var rowPosition=r._k1.pos;var oldSelection=this.getSelection();var newSelection={};if(e.getCtrlKey()){for(var i in oldSelection){newSelection[i]=oldSelection[i];};};if(e.getShiftKey()){if(this._lastSelect==null){return;};if(rowPosition<this._lastSelect){var istart=rowPosition,istop=this._lastSelect;}else{var istart=this._lastSelect,istop=rowPosition;};for(var i=istart;i<=istop;i++){newSelection[i]=true;};}else {if(e.getCtrlKey()&&newSelection[rowPosition]){delete newSelection[rowPosition];}else {newSelection[rowPosition]=true;this._lastSelect=rowPosition;};};this.setSelection(newSelection,oldSelection);};proto._onmousewheel=function(e){if(this.getContextMenu()){this.getContextMenu().setVisible(false);};this._content.scrollTop+=e.getWheelDelta()*-10;};proto._lastScrollLeft=0;proto._onscroll=function(){if(this.getContextMenu()){this.getContextMenu().setVisible(false);};this._syncScrollLeft();this._scrollSmoothTimer.start();};proto._onscrollsmooth=function(){if(this._content.scrollLeft==this._lastScrollLeft){this._scrollSmoothTimer.stop();};this._syncScrollLeft();};proto._onscrollemu=function(){if(this._content.scrollLeft!=this._lastScrollLeft){this._syncScrollLeft();};};proto._syncScrollLeft=function(){var s=this._content.scrollLeft;this._lastScrollLeft=s;this._headerTable.style.left=(-s)+"px";};proto._modifyHorizontalDimension=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyHorizontalDimension.call(this,_b1,_b2,_b3,_b4);if(_b3=="width"&&this._wasVisible){QxDOM.setWidth(this._header,QxDOM.getComputedInnerWidth(this._content));};return true;};proto._renderTableLayoutInitial=function(){QxDebugTimer("initiallayout");var hasScrollRight=QxDOM.getComputedScrollBarVisibleX(this._content);var hasScrollBottom=QxDOM.getComputedScrollBarVisibleY(this._content);QxDOM.setWidth(this._header,QxDOM.getComputedInnerWidth(this._content));var colLength=this._columnsLength;var todoValues=new Array(colLength);var todoValuesSum=0;var scaleColumns=[];var currentCol;var currentScaleColumn;var currentTodo;var firstRow=[];for(var i=0;i<this._columns.length;i++){firstRow.push(this._contentBody.firstChild.childNodes[i]);};var colLoop=colLength;do {currentCol=this._columns[colLoop];if(currentCol.hasStaticWidth){currentTodo=currentCol.width;}else {currentTodo=Math.max(this._nodeHeaderCellCache[colLoop].offsetWidth,firstRow[colLoop].offsetWidth);if(currentCol.hasMaxWidthLimit&&currentTodo>currentCol.maxWidth){currentTodo=currentCol.maxWidth;}else {if(currentCol.hasMinWidthLimit&&currentCol.minWidth>currentTodo){currentTodo=currentCol.minWidth;};};};todoValues[colLoop]=currentTodo;todoValuesSum+=currentTodo;}while(colLoop--);this._header.className=this._header.className.add("QxListViewHeaderOverflow"," ");this._content.className=this._content.className.add("QxListViewContentOverflow"," ");var innerAvail=QxDOM.getComputedInnerWidth(this._content)-todoValuesSum;if(innerAvail>0){var innerCurrentAvail=innerAvail;var innerAvailToShareCount=0;colLoop=colLength;do {currentCol=this._columns[colLoop];if(!currentCol.hasScaleWidth){continue;};if(currentCol.hasScaleFactor){currentTodo=todoValues[colLoop]+Math.floor(innerAvail*currentCol.scaleFactor);if(currentCol.hasMaxWidthLimit&&currentTodo>currentCol.maxWidth){currentTodo=currentCol.maxWidth;};innerCurrentAvail-=(currentTodo-todoValues[colLoop]);todoValues[colLoop]=currentTodo;}else {innerAvailToShareCount++;};}while(colLoop--);var currentAddTodo=0;colLoop=colLength;do {currentCol=this._columns[colLoop];if(!currentCol.hasScaleWidth){continue;};if(!currentCol.hasScaleFactor){currentTodo=todoValues[colLoop]+Math.floor(innerCurrentAvail/innerAvailToShareCount);if(currentCol.hasMaxWidthLimit&&currentTodo>currentCol.maxWidth){currentTodo=currentCol.maxWidth;};todoValues[colLoop]=currentTodo;};}while(colLoop--);};this._contentTable.removeChild(this._contentColGroup);var sum=0;var currentTextWidth,diff,tsize;colLoop=colLength;do {currentCol=this._columns[colLoop];currentTodo=todoValues[colLoop];this._nodeHeaderColsCache[colLoop].width=this._nodeContentColsCache[colLoop].width=currentTodo;sum+=currentTodo;diff=QxDOM.getComputedBoxWidth(this._nodeHeaderCellCache[colLoop])-QxDOM.getComputedBoxWidth(this._nodeHeaderInnerTextBoxCache[colLoop]);tsize=currentTodo-diff;if(tsize<20){this._nodeHeaderInnerSortCellCache[colLoop].style.display="none";diff=QxDOM.getComputedBoxWidth(this._nodeHeaderCellCache[colLoop])-QxDOM.getComputedBoxWidth(this._nodeHeaderInnerTextBoxCache[colLoop]);tsize=currentTodo-diff;};this._nodeHeaderInnerTextBoxCache[colLoop].style.width=tsize+"px";}while(colLoop--);this._contentTable.insertBefore(this._contentColGroup,this._contentBody);this.repaint();this._contentTable.style.width=this._headerTable.style.width=sum+"px";this._contentTable.style.tableLayout=this._headerTable.style.tableLayout="fixed";this._syncScrollLeft();this._header.style.visibility="visible";return true;};proto.dispose=function(){if(this._disposed)return;QxWidget.prototype.dispose.call(this);if(this._columns){for(var i=0;i<this._columnsLength;i++){delete this._columns[i];};};delete this._columns;delete this._columnsLength;if(this._k1){for(var i=0;i<this._k1.length;i++){delete this._k1[i];};};delete this._k1;delete this._selection;delete this._fragment;if(this._content){this._content.onscroll=null;};this.removeEventListener("click",this._g3);this.removeEventListener("mousewheel",this._onmousewheel);delete this._rowCreateQueue;if(this._rowCreateTimer){this._rowCreateTimer.removeEventListener("interval",this._onrowcreate,this);this._rowCreateTimer.dispose();delete this._rowCreateTimer;};delete this._rowAppendQueue;if(this._rowAppendTimer){this._rowAppendTimer.removeEventListener("interval",this._onrowappend,this);this._rowAppendTimer.dispose();delete this._rowAppendTimer;};if(this._scrollSmoothTimer){this._scrollSmoothTimer.removeEventListener("interval",this._onscrollsmooth,this);this._scrollSmoothTimer.dispose();delete this._scrollSmoothTimer;};if(this._scrollEmuTimer){this._scrollEmuTimer.removeEventListener("interval",this._onscrollemu,this);this._scrollEmuTimer.dispose();delete this._scrollEmuTimer;};delete this._nodeRowCache;delete this._nodeHeaderColsCache;delete this._nodeContentColsCache;delete this._nodeHeaderCellCache;delete this._nodeContentFirstRowCellCache;delete this._nodeHeaderInnerTableCache;delete this._nodeHeaderInnerTextCellCache;delete this._nodeHeaderInnerTextBoxCache;delete this._nodeHeaderInnerSortCellCache;delete this._nodeHeaderInnerSortIconCache;};QxListView.init=function(){var h1=document.createElement("div");var h2=document.createElement("table");var h3=document.createElement("colgroup");var h4=document.createElement("thead");var h5=document.createElement("tr");var h6=document.createElement("th");var h7=document.createElement("table");var h8=document.createElement("thead");var h9=document.createElement("tr");var h10=document.createElement("th");var h11=document.createElement("th");var h12=document.createElement("div");var h13=document.createElement("img");h1.className="QxListViewHeader";h2.className="QxListViewHeaderTable";h4.className="QxListViewHeaderBody";h5.className="QxListViewHeaderRow";h6.className="QxListViewHeaderCell";h7.className="QxListViewHeaderInner";h8.className="QxListViewHeaderInnerBody";h9.className="QxListViewHeaderInnerRow";h10.className="QxListViewHeaderInnerText";h11.className="QxListViewHeaderInnerSort";h12.className="QxListViewHeaderInnerTextBox";h13.className="QxListViewHeaderInnerSortImage";h13.src = (new QxImageManager).buildURI("widgets/arrows/down.gif");h13.style.visibility="hidden";h2.cellSpacing=h2.cellPadding="0";h7.cellSpacing=h7.cellPadding="0";if((new QxClient).isMshtml()){h1.unselectable=h2.unselectable=h4.unselectable=h5.unselectable=h6.unselectable=h7.unselectable=h8.unselectable=h9.unselectable=h10.unselectable=h11.unselectable=h12.unselectable=h13.unselectable="on";};h1.appendChild(h2);h2.appendChild(h3);h2.appendChild(h4);h4.appendChild(h5);h6.appendChild(h7);h7.appendChild(h8);h8.appendChild(h9);h9.appendChild(h10);h9.appendChild(h11);h10.appendChild(h12);h11.appendChild(h13);QxListView._headerProtoFrame=h1;QxListView._headerProtoCell=h6;var c1=document.createElement("div");var c2=document.createElement("table");var c3=document.createElement("colgroup");var c4=document.createElement("tbody");var c5=document.createElement("tr");var c6=document.createElement("td");var c7=document.createElement("div");c1.className="QxListViewContent";c2.className="QxListViewContentTable";c4.className="QxListViewContentBody";c5.className="QxListViewContentRow";c6.className="QxListViewContentCell";c7.className="QxListViewContentBox";c2.cellSpacing=c2.cellPadding="0";if((new QxClient).isMshtml()){c1.unselectable=c2.unselectable=c4.unselectable=c5.unselectable=c6.unselectable=c7.unselectable="on";};c1.appendChild(c2);c2.appendChild(c3);c2.appendChild(c4);c6.appendChild(c7);QxListView._contentProtoFrame=c1;QxListView._contentProtoRow=c5;QxListView._contentProtoCell=c6;QxListView._protoTypeElements={text:document.createTextNode(String.fromCharCode(160)),image:new Image()};QxListView._protoTypeElements.image.src=(new QxImageManager).buildURI("core/blank.gif");};QxListView.init();function QxFieldSet(vLegend){QxWidget.call(this);if(isValid(vLegend)){this.setLegend(vLegend);};this._minWidth=100;this._minHeight=50;this.setMinWidth(this._minWidth);this.setMinHeight(this._minHeight);this._dim={};};QxFieldSet.extend(QxWidget,"QxFieldSet");QxFieldSet.addProperty({name:"legend",type:String});proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){if(!this._frame){this._frame=QxFieldSet._h3.cloneNode(true);this._legend=this._frame.firstChild;this._content=this._frame.lastChild;};_b1.appendChild(this._frame);}else if(_b2&&this._frame){_b2.removeChild(this._frame);};QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return true;};proto._beforeShow=function(){this._renderLegend();this._renderWidth();this._renderHeight();};if((new QxClient).isGecko()){proto._renderLegend=function(){if(!this.isCreated()){return;};var oldWidth1=this.getElement().style.width;var oldWidth2=this._frame.style.width;var newWidth;this.getElement().style.width=this._frame.style.width="10000px";this._legend.style.width="";var l=this.getLegend();if(isValid(l)){this._legend.firstChild.nodeValue=l;this._legend.style.display="block";newWidth=this._legend.scrollWidth;}else {this._legend.style.display="none";newWidth=0;};this.getElement().style.width=oldWidth1;this._frame.style.width=oldWidth2;this._legend.style.width=newWidth+"px";if(this.getMinWidth()==this._minWidth){this._minWidth=newWidth+QxDOM.getComputedMarginLeft(this._legend)+QxDOM.getComputedMarginRight(this._legend);this.setMinWidth(this._minWidth);};};}else {proto._renderLegend=function(){if(!this.isCreated()){return;};var l=this.getLegend();if(isValid(l)){this._legend.firstChild.nodeValue=l;this._legend.style.display="block";}else {this._legend.style.display="none";};if(this.getMinWidth()==this._minWidth){this._minWidth=this._legend.scrollWidth+QxDOM.getComputedMarginLeft(this._legend)+QxDOM.getComputedMarginRight(this._legend);this.setMinWidth(this._minWidth);};};};proto._modifyLegend=function(_b1,_b2,_b3,_b4){this._renderLegend();return true;};proto._getParentNodeForChild=function(){return this._content;};proto._renderWidth=function(size){if(!this.isCreated()){return true;};var wFrame=Math.max(0,this.getElement().offsetWidth-QxDOM.getComputedMarginLeft(this._frame)-QxDOM.getComputedMarginRight(this._frame));var wContent=wFrame>0?Math.max(0,wFrame-QxDOM.getComputedInsetLeft(this._frame)-QxDOM.getComputedInsetRight(this._frame)-QxDOM.getComputedMarginLeft(this._content)-QxDOM.getComputedMarginRight(this._content)):0;this._frame.style.width=wFrame+"px";this._content.style.width=wContent+"px";return true;};proto._renderHeight=function(size){if(!this.isCreated()){return true;};var hFrame=Math.max(0,this.getElement().offsetHeight-QxDOM.getComputedMarginTop(this._frame)-QxDOM.getComputedMarginBottom(this._frame));var hContent=hFrame>0?Math.max(0,hFrame-QxDOM.getComputedInsetTop(this._frame)-QxDOM.getComputedInsetBottom(this._frame)-QxDOM.getComputedMarginTop(this._content)-QxDOM.getComputedMarginBottom(this._content)):0;this._frame.style.height=hFrame+"px";this._content.style.height=hContent+"px";return true;};proto.getComputedBorderLeft=proto.getComputedInsetLeft=function(){return QxDOM.getComputedMarginLeft(this._frame)+QxDOM.getComputedInsetLeft(this._frame)+QxDOM.getComputedMarginLeft(this._content);};proto.getComputedBorderRight=proto.getComputedInsetRight=function(){return QxDOM.getComputedMarginRight(this._frame)+QxDOM.getComputedInsetRight(this._frame)+QxDOM.getComputedMarginRight(this._content);};proto.getComputedBorderTop=proto.getComputedInsetTop=function(){return QxDOM.getComputedMarginTop(this._frame)+QxDOM.getComputedInsetTop(this._frame)+QxDOM.getComputedMarginTop(this._content);};proto.getComputedBorderBottom=proto.getComputedInsetBottom=function(){return QxDOM.getComputedMarginBottom(this._frame)+QxDOM.getComputedInsetBottom(this._frame)+QxDOM.getComputedMarginBottom(this._content);};proto.getComputedAreaWidth=function(){return this.getElement().offsetWidth-this.getComputedInsetLeft()-this.getComputedInsetRight();};proto.getComputedAreaHeight=function(){return this.getElement().offsetHeight-this.getComputedInsetTop()-this.getComputedInsetBottom();};proto.getComputedInnerWidth=function(){return this.getElement().offsetWidth-this.getComputedInsetLeft()-this.getComputedInsetRight()-this.getComputedPaddingLeft()-this.getComputedPaddingRight();};proto.getComputedInnerHeight=function(){return this.getElement().offsetHeight-this.getComputedInsetTop()-this.getComputedInsetBottom()-this.getComputedPaddingTop()-this.getComputedPaddingBottom();};proto._applySizeHorizontal=function(size){QxWidget.prototype._applySizeHorizontal.call(this,size);return this._renderWidth();};proto._applySizeVertical=function(size){QxWidget.prototype._applySizeVertical.call(this,size);return this._renderHeight();};QxFieldSet.init=function(){var frame=QxFieldSet._h3=document.createElement("div");var legend=document.createElement("div");var legendText=document.createTextNode("-");var content=document.createElement("div");frame.className="QxFieldSetFrame";legend.className="QxFieldSetLegend";content.className="QxFieldSetContent";legend.appendChild(legendText);frame.appendChild(legend);frame.appendChild(content);};QxFieldSet.init();function QxIframe(vSrc){QxWidget.call(this);this.setTabIndex(0);var o=this;this.__onreadystatechange=function(e){return o._onreadystatechange(e);};this.__onload=function(e){return o._onload(e);};if(isValid(vSrc)){this.setSrc(vSrc);};};QxIframe.extend(QxWidget,"QxIframe");QxIframe.addProperty({name:"src",type:String,defaultValue:"javascript:void(0)"});proto._realFrame=null;proto._modifyElement=function(_b1,_b2,_b3,_b4){if(!this._realFrame){this._realFrame=QxIframe._h3.cloneNode(true);if((new QxClient).isMshtml()){this._realFrame.onreadystatechange=this.__onreadystatechange;}else{this._realFrame.onload=this.__onload;};};_b1.appendChild(this._realFrame);this._renderSrc();QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return true;};proto._modifySrc=function(_b1,_b2,_b3,_b4){if(this.isCreated()){this._renderSrc();};return true;};proto.getIframe=function(){return this._realFrame;};proto._renderSrc=function(){var currentSrc=this.getSrc();this._isLoaded=false;this._realFrame.src=isValid(currentSrc)?currentSrc:"javascript:void(0)";};proto._onreadystatechange=function(){if(this._realFrame.readyState=="complete"){this.dispatchEvent(new QxEvent("load"));};};proto._onload=function(){this._isLoaded=true;this.dispatchEvent(new QxEvent("load"));};if((new QxClient).isMshtml()){proto.getContentWindow=function(){if(this.isCreated()){try{return this.getElement().contentWindow;}catch(ex){};};return null;};proto.getContentDocument=function(){var win=this.getContentWindow();return win?win.document:null;};}else {proto.getContentWindow=function(){var doc=this.getContentDocument();return doc?doc.defaultView:null;};proto.getContentDocument=function(){if(this.isCreated()){try{return this.getElement().contentDocument;}catch(ex){};};return null;};};proto._isLoaded=false;if((new QxClient).isMshtml()){proto.isLoaded=function(){var doc=this.getContentDocument();return doc?doc.readyState=="complete":false;};}else {proto.isLoaded=function(){return this._isLoaded;};};proto.dispose=function(){if(this.getDisposed()){return;};if(this.isCreated()&&this._realFrame){this.getElement().removeChild(this._realFrame);};this._realFrame=null;QxWidget.prototype.dispose.call(this);};QxIframe.init=function(){var f=QxIframe._h3=document.createElement("iframe");f.frameBorder="0";f.frameSpacing="0";f.marginWidth="0";f.marginHeight="0";f.width="100%";f.height="100%";f.hspace="0";f.vspace="0";f.border="0";f.scrolling="auto";f.unselectable="on";f.src="javascript:void(0)";f.className="QxIframeFrame";f.allowTransparency="true";};QxIframe.init();function QxToolBar(){QxWidget.call(this);this.setHeight("auto");};QxToolBar.extend(QxWidget,"QxToolBar");function QxToolBarPart(){QxWidget.call(this);this.setTop(0);this.setBottom(0);this._handle=new QxToolBarPartHandle;this.add(this._handle);};QxToolBarPart.extend(QxWidget,"QxToolBarPart");proto.dispose=function(){if(this.getDisposed()){return;};QxWidget.prototype.dispose.call(this);if(this._handle){this._handle.dispose();this._handle=null;};return true;};function QxToolBarPartHandle(){QxWidget.call(this);this.setTop(0);this.setBottom(0);this.setLeft(0);this.setWidth(10);this._line=new QxWidget;with(this._line){setCssClassName("QxToolBarPartHandleLine");setTop(2);setLeft(3);setBottom(2);setWidth(4);};this.add(this._line);};QxToolBarPartHandle.extend(QxWidget,"QxToolBarPartHandle");function QxToolBarButton(vText,vIcon,vIconWidth,vIconHeight){QxAtom.call(this,vText,vIcon,vIconWidth,vIconHeight);this.setHeight(null);this.setTop(0);this.setBottom(0);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);};QxToolBarButton.extend(QxAtom,"QxToolBarButton");proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxAtom.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);this.setState(null,_b4);return true;};proto._onmouseover=function(e){this.setState("hover");};proto._onmouseout=function(e){this.setState(null);};proto._g1=function(e){if(e.isNotLeftButton()){return;};this.setState("pressed");};proto._g2=function(e){if(e.isNotLeftButton()){return;};this.setState("hover");this.execute();};function QxToolBarSeparator(){QxWidget.call(this);this.setWidth(8);this.setTop(0);this.setBottom(0);this._line=new QxWidget;with(this._line){setCssClassName("QxToolBarSeparatorLine");setTop(2);setLeft(3);setWidth(2);setBottom(2);};this.add(this._line);};QxToolBarSeparator.extend(QxWidget,"QxToolBarSeparator");function QxToolBarCheckBox(vText,vIcon,vChecked){QxToolBarButton.call(this,vText,vIcon);if(isValid(vChecked)){this.setChecked(vChecked);};};QxToolBarCheckBox.extend(QxToolBarButton,"QxToolBarCheckBox");QxToolBarCheckBox.addProperty({name:"checked",type:Boolean,defaultValue:false});proto._g2=function(e){if(e.isNotLeftButton()){return;};this.setChecked(!this.getChecked());};proto._onmouseover=function(e){this.setState(this.getChecked()?"pressed":"hover");};proto._onmouseout=function(e){this.setState(this.getChecked()?"checked":null);};proto._modifyChecked=function(_b1,_b2,_b3,_b4){switch(this.getState()){case null:this.setState(_b1?"checked":null,_b4);break;case "checked":this.setState(_b1?"pressed":null,_b4);break;case "pressed":if(!_b1){this.setState("hover");};break;case "hover":if(_b1){this.setState("pressed",_b4);};};return true;};function QxToolBarRadioButton(vText,vIcon,vChecked){QxToolBarCheckBox.call(this,vText,vIcon,vChecked);};QxToolBarRadioButton.extend(QxToolBarCheckBox,"QxToolBarRadioButton");QxToolBarRadioButton.addProperty({name:"group"});QxToolBarRadioButton.addProperty({name:"name",type:String});QxToolBarRadioButton.addProperty({name:"disableUncheck",type:Boolean,defaultValue:false});proto._modifyChecked=function(_b1,_b2,_b3,_b4){QxToolBarCheckBox.prototype._modifyChecked.call(this,_b1,_b2,_b3,_b4);if(this.getGroup()){this.getGroup().setSelected(this,_b4);};return true;};proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._g2=function(e){if(e.isNotLeftButton()){return;};this.setChecked(this.getDisableUncheck()||!this.getChecked());};function QxToolBarMenuButton(vText,vIcon,vIconWidth,vIconHeight,vMenu){QxToolBarButton.call(this,vText,vIcon,vIconWidth,vIconHeight);if(isValid(vMenu)){this.setMenu(vMenu);};};QxToolBarMenuButton.extend(QxToolBarButton,"QxToolBarMenuButton");QxToolBarMenuButton.addProperty({name:"menu",type:Object});proto._modifyMenu=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setOpener(null,_b4);};if(_b1){_b1.setOpener(this,_b4);};return true;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vMenu=this.getMenu();if(vMenu){if(_b1=="pressed"){vMenu.setLeft(this.getComputedPageBoxLeft());vMenu.setTop(this.getComputedPageBoxTop()+this.getComputedBoxHeight());vMenu.setVisible(true,_b4);}else {vMenu.setVisible(false,_b4);};};return QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto._onmouseover=function(e){var vMenu=this.getMenu();if(vMenu==null||!vMenu.getVisible()){this.setState("hover");};};proto._onmouseout=function(e){if(this.getState()=="hover"){this.setState(null);};};proto._g1=function(e){if(e.isNotLeftButton()){return;};(new QxMenuManager).update();this.setState(this.getState()=="pressed"?"hover":"pressed");e.setPropagationStopped(true);};proto._g2=function(e){};function QxSelectionStorage(){this.removeAll();};QxSelectionStorage.extend(QxObject,"QxSelectionStorage");proto.add=function(oItem){this._i4[this.getItemHashCode(oItem)]=oItem;};proto.remove=function(oItem){delete this._i4[this.getItemHashCode(oItem)];};proto.removeAll=function(){this._i4={};};proto.contains=function(oItem){return this.getItemHashCode(oItem)in this._i4;};proto.toArray=function(){var res=[];for(var key in this._i4){res.push(this._i4[key]);};return res;};proto.getFirst=function(){for(var key in this._i4){return this._i4[key];};};proto.getChangeValue=function(){var sb=[];for(var hc in this._i4){sb.push(hc);};sb.sort();return sb.join(",");};proto.getItemHashCode=function(oItem){return oItem.toHash();};proto.isEmpty=function(){return isHashEmpty(this._i4);};proto.dispose=function(){if(this.getDisposed()){return;};this._i4=null;QxObject.prototype.dispose.call(this);};function QxSelectionManager(vBoundedWidget){QxTarget.call(this);this._j5=new QxSelectionStorage();if(isValid(vBoundedWidget)){this.setBoundedWidget(vBoundedWidget);};};QxSelectionManager.extend(QxManager,"QxSelectionManager");QxSelectionManager.addProperty({name:"boundedWidget",type:Object});QxSelectionManager.addProperty({name:"multiSelection",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"dragSelection",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"canDeselect",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"fireChange",type:Boolean,defaultValue:true});QxSelectionManager.addProperty({name:"anchorItem",type:Object});QxSelectionManager.addProperty({name:"leadItem",type:Object});QxSelectionManager.addProperty({name:"multiColumnSupport",type:Boolean,defaultValue:false});proto._modifyAnchorItem=function(_b1,_b2,_b3,_b4){if(_b2){this.renderItemAnchorState(_b2,false);};if(_b1){this.renderItemAnchorState(_b1,true);};return true;};proto._modifyLeadItem=function(_b1,_b2,_b3,_b4){if(_b2){this._j10(_b2,false);};if(_b1){this._j10(_b1,true);};return true;};proto.getFirst=function(){var vItem=this.getBoundedWidget().getFirstChild();return this.getItemEnabled(vItem)?vItem:this.getNext(vItem);};proto.getLast=function(){var vItem=this.getBoundedWidget().getLastChild();return this.getItemEnabled(vItem)?vItem:this.getPrevious(vItem);};proto.getItems=function(){return this.getBoundedWidget().getChildren();};proto.getNextSibling=function(vItem){return vItem.getNextSibling();};proto.getPreviousSibling=function(vItem){return vItem.getPreviousSibling();};proto.getNext=function(vItem){while(vItem){vItem=this.getNextSibling(vItem);if(!vItem){break;};if(this.getItemEnabled(vItem)){return vItem;};};return null;};proto.getPrevious=function(vItem){while(vItem){vItem=this.getPreviousSibling(vItem);if(!vItem){break;};if(this.getItemEnabled(vItem)){return vItem;};};return null;};proto.isBefore=function(vItem1,vItem2){var cs=this.getItems();return cs.indexOf(vItem1)<cs.indexOf(vItem2);};proto.isEqual=function(vItem1,vItem2){return vItem1==vItem2;};proto.getItemHashCode=function(vItem){return vItem.toHash();};proto.scrollItemIntoView=function(vItem){vItem.scrollIntoView();};proto.getItemLeft=function(vItem){return vItem.getOffsetLeft();};proto.getItemTop=function(vItem){return vItem.getOffsetTop();};proto.getItemWidth=function(vItem){return vItem.getOffsetWidth();};proto.getItemHeight=function(vItem){return vItem.getOffsetHeight();};proto.getItemEnabled=function(vItem){return vItem.getEnabled();};proto.getItemClassName=function(vItem){return vItem.getCssClassName();};proto.setItemClassName=function(vItem,vClassName){return vItem.setCssClassName(vClassName);};proto.getItemBaseClassName=function(vItem){return vItem.classname;};proto._j3=function(vItem,vState,vIsState){var c=this.getItemClassName(vItem);var n=this.getItemBaseClassName(vItem)+"-"+vState;this.setItemClassName(vItem,vIsState?c.add(n," "):c.remove(n," "));};proto._j9=function(vItem,vIsSelected){this._j3(vItem,"Selected",vIsSelected);};proto.renderItemAnchorState=function(vItem,vIsAnchor){this._j3(vItem,"Anchor",vIsAnchor);};proto._j10=function(vItem,vIsLead){this._j3(vItem,"Lead",vIsLead);};proto.getItemSelected=function(vItem){return this._j5.contains(vItem);};proto.setItemSelected=function(vItem,vSelected){var hc=this.getItemHashCode(vItem);switch(this.getMultiSelection()){case true:if(!this.getItemEnabled(vItem)){return;};if(this.getItemSelected(vItem)==vSelected){return;};this._j9(vItem,vSelected);vSelected?this._j5.add(vItem):this._j5.remove(vItem);this._j1();break;case false:var item0=this.getSelectedItems()[0];if(vSelected){var old=item0;if(this.isEqual(vItem,old)){return;};if(old!=null){this._j9(old,false);};this._j9(vItem,true);this._j5.removeAll();this._j5.add(vItem);this._j1();}else {if(!this.isEqual(item0,vItem)){this._j9(vItem,false);this._j5.removeAll();this._j1();};};break;};};proto.getSelectedItems=function(){return this._j5.toArray();};proto.getSelectedItem=function(){return this._j5.getFirst();};proto.setSelectedItems=function(vItems){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();var vItem;var vItemLength=vItems.length;for(var i=0;i<vItemLength;i++){vItem=vItems[i];if(!this.getItemEnabled(vItem)){continue;};this._j5.add(vItem);this._j9(vItem,true);};this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.setSelectedItem=function(vItem){if(!vItem){return;};if(!this.getItemEnabled(vItem)){return;};var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();this._j5.add(vItem);this._j9(vItem,true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.selectAll=function(){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._selectAll();this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto._selectAll=function(){if(!this.getMultiSelection()){return;};var vItem;var vItems=this.getItems();var vItemsLength=vItems.length;this._j5.removeAll();for(var i=0;i<vItemsLength;i++){vItem=vItems[i];if(!this.getItemEnabled(vItem)){continue;};this._j5.add(vItem);this._j9(vItem,true);};return true;};proto.deselectAll=function(){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j7();this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal))this._j1();};proto._j7=function(){var items=this._j5.toArray();for(var i=0;i<items.length;i++){this._j9(items[i],false);};this._j5.removeAll();return true;};proto.selectItemRange=function(vItem1,vItem2){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);this._j2(vItem1,vItem2,true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto._j2=function(vItem1,vItem2,vDeselect){if(this.isBefore(vItem2,vItem1)){return this._j2(vItem2,vItem1,vDeselect);};if(vDeselect){this._j7();};var vCurrentItem=vItem1;while(vCurrentItem!=null){if(this.getItemEnabled(vCurrentItem)){this._j5.add(vCurrentItem);this._j9(vCurrentItem,true);};if(this.isEqual(vCurrentItem,vItem2)){break;};vCurrentItem=this.getNext(vCurrentItem);};return true;};proto._j6=function(vItem1,vItem2){if(this.isBefore(vItem2,vItem1)){return this._j6(vItem2,vItem1);};var vCurrentItem=vItem1;while(vCurrentItem!=null){this._j5.remove(vCurrentItem);this._j9(vCurrentItem,false);if(this.isEqual(vCurrentItem,vItem2)){break;};vCurrentItem=this.getNext(vCurrentItem);};};proto._j4=false;proto.handleMouseDown=function(vItem,e){if(e.isNotLeftButton()&&e.isNotRightButton()){return;};if(e.isRightButton()&&this.getItemSelected(vItem)){return;};if(e.getShiftKey()||this.getDragSelection()||(!this.getItemSelected(vItem)&&!e.getCtrlKey())){this._onmouseevent(vItem,e);}else {this.setLeadItem(vItem);};this._j4=this.getDragSelection();if(this._j4){this.getBoundedWidget().addEventListener("mouseup",this._ondragup,this);this.getBoundedWidget().setCapture(true);};};proto._ondragup=function(e){this.getBoundedWidget().removeEventListener("mouseup",this._ondragup,this);this.getBoundedWidget().setCapture(false);this._j4=false;};proto.handleMouseUp=function(vItem,e){if(e.isNotLeftButton()){return;};if(e.getCtrlKey()||this.getItemSelected(vItem)&&!this._j4){this._onmouseevent(vItem,e);};if(this._j4){this._j4=false;this.getBoundedWidget().setCapture(false);};};proto.handleMouseOver=function(oItem,e){if(! this.getDragSelection()||!this._j4){return;};this._onmouseevent(oItem,e,true);};proto.handleClick=function(vItem,e){};proto.handleDblClick=function(vItem,e){};proto._onmouseevent=function(oItem,e,bOver){if(!this.getItemEnabled(oItem)){return;};var oldVal=this._getChangeValue();var oldLead=this.getLeadItem();var oldFireChange=this.getFireChange();this.setFireChange(false);var selectedItems=this.getSelectedItems();var selectedCount=selectedItems.length;this.setLeadItem(oItem);var currentAnchorItem=this.getAnchorItem();var vCtrlKey=e.getCtrlKey();var vShiftKey=e.getShiftKey();if(!currentAnchorItem||selectedCount==0||(vCtrlKey&&!vShiftKey&&this.getMultiSelection()&&!this.getDragSelection())){this.setAnchorItem(oItem);currentAnchorItem=oItem;};if((!vCtrlKey&&!vShiftKey&&!this._j4||!this.getMultiSelection())){if(!this.getItemEnabled(oItem)){return;};this._j7();this.setAnchorItem(oItem);if(this._j4){this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(oItem)-1)?this.getPrevious(oItem):this.getNext(oItem))||oItem);};if(!this.getItemSelected(oItem)){this._j9(oItem,true);};this._j5.add(oItem);this._addToCurrentSelection=true;}else if(this._j4&&bOver){if(oldLead){this._j6(currentAnchorItem,oldLead);};if(this.isBefore(currentAnchorItem,oItem)){if(this._addToCurrentSelection){this._j2(currentAnchorItem,oItem,false);}else {this._j6(currentAnchorItem,oItem);};}else {if(this._addToCurrentSelection){this._j2(oItem,currentAnchorItem,false);}else {this._j6(oItem,currentAnchorItem);};};this.scrollItemIntoView((this.getBoundedWidget().getScrollTop()>(this.getItemTop(oItem)-1)?this.getPrevious(oItem):this.getNext(oItem))||oItem);}else if(this.getMultiSelection()&&vCtrlKey&&!vShiftKey){if(!this._j4){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(oItem));};this.setItemSelected(oItem,this._addToCurrentSelection);this.setAnchorItem(oItem);}else if(this.getMultiSelection()&&vCtrlKey&&vShiftKey){if(!this._j4){this._addToCurrentSelection=!(this.getCanDeselect()&&this.getItemSelected(oItem));};if(this._addToCurrentSelection){this._j2(currentAnchorItem,oItem,false);}else {this._j6(currentAnchorItem,oItem);};}else if(this.getMultiSelection()&&!vCtrlKey&&vShiftKey){if(this.getCanDeselect()){this._j2(currentAnchorItem,oItem,true);}else {if(oldLead){this._j6(currentAnchorItem,oldLead);};this._j2(currentAnchorItem,oItem,false);};};this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.handleKeyDown=function(e){var oldVal=this._getChangeValue();var oldFireChange=this.getFireChange();this.setFireChange(false);if(e.getKeyCode()==65&&e.getCtrlKey()){if(this.getMultiSelection()){this._selectAll();this.setLeadItem(this.getFirst());};}else {var aIndex=this.getAnchorItem();var itemToSelect=this.getItemToSelect(e);if(itemToSelect&&this.getItemEnabled(itemToSelect)){this.setLeadItem(itemToSelect);this.scrollItemIntoView(itemToSelect);if(e.getShiftKey()&&this.getMultiSelection()){if(aIndex==null){this.setAnchorItem(itemToSelect);};this._j2(this.getAnchorItem(),itemToSelect,true);}else if(!e.getCtrlKey()){this._j7();this._j9(itemToSelect,true);this._j5.add(itemToSelect);this.setAnchorItem(itemToSelect);};};};e.setPreventDefault(true);e.setPropagationStopped(true);this.setFireChange(oldFireChange);if(oldFireChange&&this._j8(oldVal)){this._j1();};};proto.getItemToSelect=function(oKeyboardEvent){var e=oKeyboardEvent;if(e.getAltKey()){return null;};switch(e.getKeyCode()){case QxKeyEvent.keys.home:return this.getHome(this.getLeadItem());case QxKeyEvent.keys.end:return this.getEnd(this.getLeadItem());case QxKeyEvent.keys.down:return this.getDown(this.getLeadItem());case QxKeyEvent.keys.up:return this.getUp(this.getLeadItem());case QxKeyEvent.keys.left:return this.getLeft(this.getLeadItem());case QxKeyEvent.keys.right:return this.getRight(this.getLeadItem());case QxKeyEvent.keys.pageup:return this.getPageUp(this.getLeadItem());case QxKeyEvent.keys.pagedown:return this.getPageDown(this.getLeadItem());};return null;};proto._j1=function(){if(!this.getFireChange()){return;};this.dispatchEvent(new QxDataEvent("changeSelection",this.getSelectedItems()));};proto._j8=function(sOldValue){return sOldValue!=this._getChangeValue();};proto._getChangeValue=function(){return this._j5.getChangeValue();};proto.getHome=function(){return this.getFirst();};proto.getEnd=function(){return this.getLast();};proto.getDown=function(vItem){if(!vItem){return this.getFirst();};return this.getMultiColumnSupport()?(this.getUnder(vItem)||this.getLast()):this.getNext(vItem);};proto.getUp=function(vItem){if(!vItem){return this.getLast();};return this.getMultiColumnSupport()?(this.getAbove(vItem)||this.getFirst()):this.getPrevious(vItem);};proto.getLeft=function(vItem){if(!this.getMultiColumnSupport()){return null;};return !vItem?this.getLast():this.getPrevious(vItem);};proto.getRight=function(vItem){if(!this.getMultiColumnSupport()){return null;};return !vItem?this.getFirst():this.getNext(vItem);};proto.getAbove=function(vItem){throw new Error("getAbove():Not implemented yet");};proto.getUnder=function(vItem){throw new Error("getUnder():Not implemented yet");};proto.getPageUp=function(vItem){var vBound=this.getBoundedWidget();var vParentScrollTop=vBound.getScrollTop();var newItem;var nextItem=this.getLeadItem();if(!nextItem){nextItem=this.getFirst();};var tryLoops=0;while(tryLoops<2){while(nextItem&&(this.getItemTop(nextItem)-this.getItemHeight(nextItem)>=vParentScrollTop)){newItem=this.getUp(nextItem);if(newItem==null){break;};nextItem=newItem;};if(nextItem==null){tryLoops=2;break;};if(nextItem!=this.getLeadItem()){break;};vBound.setScrollTop(vParentScrollTop-vBound.getClientHeight()-this.getItemHeight(nextItem));vParentScrollTop=vBound.getScrollTop();tryLoops++;};return nextItem;};proto.getPageDown=function(vItem){var vBound=this.getBoundedWidget();var vParentScrollTop=vBound.getScrollTop();var vParentClientHeight=vBound.getClientHeight();var newItem;var nextItem=this.getLeadItem();if(!nextItem){nextItem=this.getFirst();};var tryLoops=0;while(tryLoops<2){while(nextItem&&((this.getItemTop(nextItem)+(2*this.getItemHeight(nextItem)))<=(vParentScrollTop+vParentClientHeight))){newItem=this.getDown(nextItem);if(newItem==null){break;};nextItem=newItem;};if(nextItem==null){tryLoops=2;break;};if(nextItem!=this.getLeadItem()){break;};vBound.setScrollTop(vParentScrollTop+vParentClientHeight-(2*this.getItemHeight(nextItem)));vParentScrollTop=vBound.getScrollTop();tryLoops++;};return nextItem;};proto.dispose=function(){if(this.getDisposed()){return;};if(this._j5){this._j5.dispose();this._j5=null;};return QxTarget.prototype.dispose.call(this);};function QxList(){QxWidget.call(this);this.setCanSelect(false);this.setOverflow("auto");this.setTabIndex(1);this._manager=new QxSelectionManager(this);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("keydown",this._g4);this.addEventListener("keypress",this._g6);};QxList.extend(QxWidget,"QxList");QxList.addProperty({name:"enableInlineFind",type:Boolean,defaultValue:true});proto.isFocusRoot=function(){return true;};proto._pressedString="";proto._visualizeBlur=function(){};proto._visualizeFocus=function(){};proto.getManager=function(){return this._manager;};proto.getListItemTarget=function(vItem){while(vItem!=null&&vItem.getParent()!=this){vItem=vItem.getParent();};return vItem;};proto.getSelectedItem=function(){return this.getSelectedItems()[0];};proto.getSelectedItems=function(){return this._manager.getSelectedItems();};proto._onmouseover=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleMouseOver(vItem,e);};};proto._g1=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleMouseDown(vItem,e);};};proto._g2=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleMouseUp(vItem,e);};};proto._g3=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleClick(vItem,e);};};proto._ondblclick=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleDblClick(vItem,e);};};proto._g4=function(e){var kc=e.getKeyCode();if(kc==QxKeyEvent.keys.enter&&!e.getAltKey()){var items=this.getSelectedItems();var currentItem;for(var i=0;i<items.length;i++){currentItem=items[i];if(currentItem.hasEventListeners("action")){currentItem._dispachEvent(new QxEvent("action"));};};}else {this._manager.handleKeyDown(e);};};this._lastKeyPress=0;proto._g6=function(e){if(!this.getEnableInlineFind()){return;};if(((new Date).valueOf()-this._lastKeyPress)>1000){this._pressedString="";};this._pressedString+=String.fromCharCode(e.getKeyCode());var matchedItem=this.findString(this._pressedString,null);if(matchedItem){var oldVal=this._manager._getChangeValue();var oldFireChange=this._manager.getFireChange();this._manager.setFireChange(false);this._manager._j7();this._manager.setItemSelected(matchedItem,true);this._manager.setAnchorItem(matchedItem);this._manager.setLeadItem(matchedItem);matchedItem.scrollIntoView();this._manager.setFireChange(oldFireChange);if(oldFireChange&&this._manager._j8(oldVal)){this._manager._j1();};};this._lastKeyPress=(new Date).valueOf();e.preventDefault();};proto._findItem=function(vUserValue,vStartIndex,vType){var vAllItems=this.getChildren();if(vStartIndex==null){vStartIndex=vAllItems.indexOf(this.getSelectedItem());if(vStartIndex==-1){vStartIndex=0;};};var methodName="matches"+vType;for(var i=vStartIndex;i<vAllItems.length;i++){if(vAllItems[i][methodName](vUserValue)){return vAllItems[i];};};for(var i=0;i<vStartIndex;i++){if(vAllItems[i][methodName](vUserValue)){return vAllItems[i];};};return null;};proto.findString=function(vText,vStartIndex){return this._findItem(vText,vStartIndex||0,"String");};proto.findStringExact=function(vText,vStartIndex){return this._findItem(vText,vStartIndex||0,"StringExact");};proto.getPreferredHeight=function(){var ch=this.getChildren();var chl=ch.length;var sum=0;for(var i=0;i<chl;i++){sum+=ch[i].getPreferredHeight();};return sum;};function QxListItem(vText,vIcon,vValue){QxAtom.call(this,vText,vIcon);if(isValid(vValue)){this.setValue(vValue);};this.setWidth(null);this.setLeft(0);this.setRight(0);this.setCanSelect(false);this.setTimerCreate(false);};QxListItem.extend(QxAtom,"QxListItem");QxListItem.addProperty({name:"value",type:String});proto.matchesString=function(vText){return vText!=""&&this.getText().toLowerCase().indexOf(vText.toLowerCase())==0;};proto.matchesStringExact=function(vText){return vText!=""&&this.getText().toLowerCase()==String(vText).toLowerCase();};function QxComboBox(){QxWidget.call(this);this.setWidth(120);this.setHeight(22);this.setBorder(QxBorder.presets.inset);this.setTabIndex(1);this._list=new QxList();this._list.set({top:0,left:0,bottom:0,right:0,overflow:"auto",timerCreate:false});this._manager=this._list.getManager();this._manager.set({multiSelection:false,dragSelection:false});this._manager.addEventListener("changeSelection",this._onchangeselection,this);this._popup=new QxPopup();this._popup.set({autoHide:false,width:150,height:180,timerCreate:false});this._popup.add(this._list);this._atom=new QxAtom();this._atom.set({width:null,top:3,left:4,right:16,tabIndex:-1});this._textfield=new QxTextField();this._textfield.setTop((new QxClient).isGecko()?1:0);this._textfield.set({left:4,right:16,tabIndex:-1});(this.isEditable()?this._atom:this._textfield).setStyleProperty("visibility","hidden");this._button=new QxWidget();this._button.set({top:0,bottom:0,width:16,right:0,border:QxBorder.presets.outset,canSelect:false});this._buttonimage = new QxImage("widgets/arrows/down.gif", 7, 4);this._buttonimage.set({top:5,left:2});this._button.add(this._buttonimage);this.add(this._textfield,this._atom,this._button);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("keydown",this._g4);this.addEventListener("keypress",this._g6);this.addEventListener("mousewheel",this._onmousewheel);};QxComboBox.extend(QxWidget,"QxComboBox");QxComboBox.addProperty({name:"editable",type:Boolean,defaultValue:false,getAlias:"isEditable"});QxComboBox.addProperty({name:"selected",type:Object});QxComboBox.addProperty({name:"value",type:Object});QxComboBox.addProperty({name:"pagingInterval",type:Number,defaultValue:10});QxComboBox.addProperty({name:"maxListHeight",type:Number,defaultValue:180});proto._modifyParent=function(_b1,_b2,_b3,_b4){if(_b1){var p=_b1.getTopLevelWidget();if(p){p.add(this._popup);};}else if(_b2){var p=_b2.getTopLevelWidget();if(p){p.remove(this._popup);};};return QxWidget.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);};proto._modifySelected=function(_b1,_b2,_b3,_b4){this.setValue(_b1?_b1.getText():"",_b4);if(_b1){this._manager.setSelectedItems([_b1]);}else {this._manager.deselectAll();};return true;};proto._modifyValue=function(_b1,_b2,_b3,_b4){var vText=isValid(_b1)?_b1:"";if(this.isEditable()){this._textfield.setText(vText,_b4);}else {this._atom.setText(vText,_b4);};this.setSelected(vText==""?null:this.getList().findStringExact(vText),_b4);return true;};proto._modifyEditable=function(_b1,_b2,_b3,_b4){var l=this._atom;var t=this._textfield;if(this.isCreated()){l.setVisible(!_b1);t.setVisible(_b1);if(_b1){t.setText(this.getValue());}else {l.setText(this.getValue());};}else {if(_b1){l.setStyleProperty("visibility","hidden");t.removeStyleProperty("visibility");}else {t.setStyleProperty("visibility","hidden");l.removeStyleProperty("visibility");};};this._modifyEditablePost(_b1);return true;};if((new QxClient).isMshtml()){proto._modifyEditablePost=function(_b1){var t=this._textfield;if(_b1){t.setHtmlProperty("unselectable",false);t.setHtmlProperty("tabIndex",1);}else {t.setHtmlProperty("unselectable",true);t.setHtmlProperty("tabIndex",-1);};};}else if((new QxClient).isGecko()){proto._modifyEditablePost=function(_b1){var t=this._textfield;if(_b1){t.setStyleProperty("MozUserFocus","normal");t.setStyleProperty("userFocus","normal");}else {t.setStyleProperty("MozUserFocus","ignore");t.setStyleProperty("userFocus","ignore");};};}else {proto._modifyEditablePost=function(_b1){var t=this._textfield;if(_b1){t.setStyleProperty("userFocus","normal");t.setHtmlProperty("tabIndex",1);}else {t.setStyleProperty("userFocus","ignore");t.setHtmlProperty("tabIndex",-1);};};};proto.getList=function(){return this._list;};proto.getManager=function(){return this._manager;};proto.getPopup=function(){return this._popup;};proto.getAtom=function(){return this._atom;};proto.getTextField=function(){return this._textfield;};proto.getButton=function(){return this._button;};proto.getButtonImage=function(){return this._buttonimage;};proto.createPopup=function(){var p=this._popup;if(!p.isCreated()){p.setLeft(this.getComputedPageBoxLeft()+1);p.setTop(this.getComputedPageBoxBottom());p.setWidth(this.getComputedBoxWidth()-2);};var pa=this.getParent();var pt=pa?pa.getTopLevelWidget():null;if(pt){pt.add(p);};if(!p.isCreated()){p._createElement();p.setVisible(false);};};proto._togglePopup=function(){if(this._popup.getVisible()){this._closePopup();if(!this.getEditable()){this.setState("mark");};}else {this._openPopup();};};proto._openPopup=function(){var p=this._popup;var l=this._list;var m=this._manager;this.createPopup();var lh=l.getPreferredHeight();var mh=this.getMaxListHeight();if(lh>mh){p.setHeight(mh);l.setOverflow("scrollY");}else {p.setHeight(lh);l.setOverflow("hidden");};p.setLeft(this.getComputedPageBoxLeft()+1);p.setTop(this.getComputedPageBoxBottom());p.setWidth(this.getComputedBoxWidth()-2);if(this.isEditable()){var vFound=this._findMatchingEditItem();if(vFound){m.setSelectedItem(vFound);}else {var oldFireChange=m.getFireChange();m.setFireChange(false);m.deselectAll();m.setLeadItem(null);m.setFireChange(oldFireChange);};};var vCurrent=this._manager.getSelectedItem();if(vCurrent){m.setLeadItem(vCurrent);m.scrollItemIntoView(vCurrent);};this.setCapture(true);this.setState(null);p.setVisible(true);};proto._closePopup=function(){var vCurrent=this._manager.getSelectedItem();if(!(vCurrent==null&&this.getEditable())){this.setSelected(vCurrent);this._manager.setLeadItem(vCurrent);};this.setCapture(false);this._popup.setVisible(false);};proto._g1=function(e){var t=e.getActiveTarget();if(typeof t=="undefined"){return;};if(t instanceof QxImage){t=t.getParent();};if(t instanceof QxListItem){if(!t.isEnabled()){return;};t=t.getParent();};switch(t){case this._textfield:return;case this:case this._atom:case this._button:case this._buttonimage:this._togglePopup();this._button.setBorder(QxBorder.presets.inset);break;case this._list:if(this.getEditable()&&!this._findMatchingEditItem()){this.setSelected(null);};this._list._g1(e);if(e.getTarget()!=this._list){this._closePopup();};break;case this._popup:break;default:var sel=this.getSelected();this._manager.deselectAll();if(sel){this._manager.setSelectedItem(sel);};this._closePopup();break;};};proto._g2=function(e){this._button.setBorder(QxBorder.presets.outset);};proto._findMatchingEditItem=function(){return this._list.findStringExact(this._textfield.getElement().value);};proto._g4=function(e){var m=this._manager;if(this._popup.getVisible()){if(e.getKeyCode()==QxKeyEvent.keys.enter){this.setSelected(this._manager.getSelectedItem());this._closePopup();return;}else if(e.getKeyCode()==QxKeyEvent.keys.esc){m.setSelectedItem(this.getSelected());m.setLeadItem(this.getSelected());this._popup.setVisible(false);this.setCapture(false);return;};}else if(e.getKeyCode()==QxKeyEvent.keys.enter){this._openPopup();};if(!this._popup.getVisible()&&e.getKeyCode()==QxKeyEvent.keys.pageup){var vPrevious;var vTemp=this.getSelected();if(vTemp){var vInterval=this.getPagingInterval();do{vPrevious=vTemp;}while(--vInterval&&(vTemp=m.getPrevious(vPrevious)));}else {vPrevious=m.getLast();};this.setSelected(vPrevious);}else if(!this._popup.getVisible()&&e.getKeyCode()==QxKeyEvent.keys.pagedown){var vNext;var vTemp=this.getSelected();if(vTemp){var vInterval=this.getPagingInterval();do{vNext=vTemp;}while(--vInterval&&(vTemp=m.getNext(vNext)));}else {vNext=m.getFirst();};this.setSelected(vNext);}else if(!this.isEditable()||this._popup.getVisible()){this._list._g4(e);}else if(e.getKeyCode()==QxKeyEvent.keys.up||e.getKeyCode()==QxKeyEvent.keys.down){var vFound=this._findMatchingEditItem();if(vFound){m.setSelectedItem(vFound);m.setLeadItem(vFound);}else {m.deselectAll();m.setLeadItem(null);};this._list._g4(e);}else if(this._popup.isCreated()&&(e.getKeyCode()==QxKeyEvent.keys.pageup||e.getKeyCode()==QxKeyEvent.keys.pagedown)){var vFound=this._findMatchingEditItem();if(vFound){m.setSelectedItem(vFound);m.setLeadItem(vFound);}else {m.deselectAll();m.setLeadItem(null);};this._list._g4(e);};};proto._g6=function(e){if(!this.isEditable()||this._popup.getVisible()){this._list._g6(e);};};proto._onmouseover=function(e){var t=e.getTarget();if(t instanceof QxImage){t=t.getParent();};if(t instanceof QxListItem&&t.getEnabled()){var m=this._manager;m.deselectAll();m.setLeadItem(t);m.setSelectedItem(t);};};proto._onmousewheel=function(e){if(!this._popup.getVisible()){var toSelect;var isSelected=this.getSelected();if(e.getWheelDelta()<0){toSelect=isSelected?this._manager.getNext(isSelected):this._manager.getFirst();}else {toSelect=isSelected?this._manager.getPrevious(isSelected):this._manager.getLast();};if(toSelect){this.setSelected(toSelect);};};};proto._onchangeselection=function(e){if(!this._popup.getVisible()){this.setSelected(this._manager.getSelectedItem());};};proto._visualizeBlur=function(){this.setState(null);QxWidget.prototype._visualizeBlur.call(this);};proto.dispose=function(){if(this.getDisposed()){return;};if(this._list){this._list.dispose();this._list=null;};if(this._manager){this._manager.dispose();this._manager=null;};if(this._popup){this._popup.dispose();this._popup=null;};if(this._atom){this._atom.dispose();this._atom=null;};if(this._textfield){this._textfield.dispose();this._textfield=null;};if(this._button){this._button.dispose();this._button=null;};if(this._buttonimage){this._buttonimage.dispose();this._buttonimage=null;};return QxWidget.prototype.dispose.call(this);};function QxTabFrame(){QxWidget.call(this);this._bar=new QxTabBar;this._pane=new QxTabPane;this.add(this._pane,this._bar);this._bar.addEventListener("resizeVertical",this._pane._applyState,this._pane);};QxTabFrame.extend(QxWidget,"QxTabFrame");QxTabFrame.addProperty({name:"placeBarOnTop",type:Boolean,defaultValue:true});proto.getPane=function(){return this._pane;};proto.getBar=function(){return this._bar;};proto._modifyPlaceBarOnTop=function(_b1,_b2,_b3,_b4){this._bar.setPlaceOnTop(_b1,_b4);this._pane.setState(_b1?"bottom":"top",_b4);return true;};proto.dispose=function(){if(this.getDisposed()){return true;};if(this._bar){this._bar.removeEventListener("resizeVertical",this._pane._applyState,this._pane);this._bar.dispose();this._bar=null;};if(this._pane){this._pane.dispose();this._pane=null;};return QxWidget.prototype.dispose.call(this);};function QxTabBar(){QxWidget.call(this);this.setLeft(0);this.setRight(0);this.setHeight("auto");this._updatePlacement();this._j3();this._manager=new QxRadioButtonManager();this._manager.addEventListener("changeSelected",this._onchange,this);};QxTabBar.extend(QxWidget,"QxTabBar");QxTabBar.addProperty({name:"placeOnTop",type:Boolean,defaultValue:true});QxTabBar.addProperty({name:"alignTabsToLeft",type:Boolean,defaultValue:true});QxTabBar.addProperty({name:"activeTabHeightDiff",type:Number,defaultValue:2});QxTabBar.addProperty({name:"activeTabOverlap",type:Number,defaultValue:2});proto.getManager=function(){return this._manager;};proto._modifyPlaceOnTop=function(_b1,_b2,_b3,_b4){this.getParent().setPlaceBarOnTop(_b1,_b4);this._updatePlacement();return true;};proto._modifyAlignTabsToLeft=function(_b1,_b2,_b3,_b4){this._j3();return true;};proto._onchange=function(e){this._layoutInternalWidgets("change-active-tab");};proto._updatePlacement=function(){if(this.getPlaceOnTop()){this.setBottom(null);this.setTop(0);}else {this.setTop(null);this.setBottom(0);};this._j3();};proto._j3=function(){this.setState((this.getPlaceOnTop()?"top":"bottom")+(this.getAlignTabsToLeft()?"Left":"Right"));};proto._layoutInternalWidgets=function(_e5){this._d1(_e5);this._d2(_e5);};proto._d1=function(_e5){if(!isValidString(_e5)||_e5=="position"){return;};var vPane=this.getParent().getPane();if(!this.isCreated()||!vPane.isCreated()){return true;};if(this.getAlignTabsToLeft()){var vReset="setRight";var vSet="setLeft";var vLastLeft=vPane.getComputedBorderLeft();}else {var vReset="setLeft";var vSet="setRight";var vLastLeft=vPane.getComputedBorderRight();};var ch=this.getChildren();var chl=ch.length;var chc;var vPref;var vLeft;var vIndex;for(var i=0;i<chl;i++){chc=ch[i];if(chc instanceof QxTab&&chc.getVisible()){vPref=chc.getPreferredWidth();if(vPref==null){return true;};chc[vReset](null);if(chc.getChecked()){vLeft=vLastLeft-this.getActiveTabOverlap();vLastLeft+=vPref-(2*this.getActiveTabOverlap());vIndex=2;}else {vLeft=vLastLeft;vLastLeft+=vPref;vIndex=1;};chc[vSet](vLeft);chc.setZIndex(vIndex);};};};proto._d2=function(_e5){var vPane=this.getParent().getPane();if(!this.isCreated()||!vPane.isCreated()){return true;};var vActiveDiff=this.getActiveTabHeightDiff();var vMax=this._maxHeight;var vActiveMax=this._maxActiveHeight;if(this.getPlaceOnTop()){var vReset="setBottom";var vSet="setTop";var vPaneBorder=vPane.getComputedBorderTop();}else {var vReset="setTop";var vSet="setBottom";var vPaneBorder=vPane.getComputedBorderBottom();};var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc instanceof QxTab&&chc.getVisible()){chc[vReset](null);if(chc.getChecked()){chc[vSet](0);chc.setHeight(vActiveMax);}else {chc[vSet](vActiveDiff);chc.setHeight("auto");chc.setMinHeight(vMax);};};};};proto._onnewchild=function(otherObject){this._d1("append-child");};proto._onremovechild=function(otherObject){this._d1("remove-child");};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._childOuterWidthChanged=function(vModifiedChild,_e5){return !this._wasVisible?true:this.getWidth()=="auto"?this._setChildrenDependWidth(vModifiedChild,_e5):this._d1(_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){return !this._wasVisible?true:this.getHeight()=="auto"?this._setChildrenDependHeight(vModifiedChild,_e5):this._d2(_e5);};proto._maxHeight=0;proto._maxActiveHeight=0;proto._d5Height=function(_e4,_e5){var vPane=this.getParent().getPane();if(!vPane.isCreated()){return null;};var ch=this.getChildren();var chl=ch.length;var maxHeight=0;for(var i=0;i<chl;i++){maxHeight=Math.max(ch[i].getPreferredHeight(),maxHeight)};this._maxHeight=maxHeight;return this._maxActiveHeight=maxHeight+this.getActiveTabHeightDiff()+(this.getPlaceOnTop()?vPane.getComputedBorderTop():vPane.getComputedBorderBottom());};proto.dispose=function(){if(this.getDisposed()){return;};if(this._manager){this._manager.dispose();this._manager=null;};this._maxHeight=this._maxActiveHeight=null;QxWidget.prototype.dispose.call(this);};function QxTabPane(){QxWidget.call(this);this.setState("bottom");this.setLeft(0);this.setRight(0);this.setBorder(QxBorder.presets.outset);};QxTabPane.extend(QxWidget,"QxTabPane");proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._modifyState=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._applyState=function(){var vParent=this.getParent();if(!vParent||!this.isCreated()||!vParent.getBar().isCreated()){return true;};var vBarHeight=vParent.getBar().getPixelOfHeight();switch(this.getState()){case "top":this.setBottom(vBarHeight-this.getComputedBorderBottom());this.setTop(0);break;default:this.setTop(vBarHeight-this.getComputedBorderTop());this.setBottom(0);};return true;};function QxTabPage(vTab){QxWidget.call(this);this.setLeft(10);this.setRight(10);this.setBottom(10);this.setTop(10);if(isValid(vTab)){this.setTab(vTab);};};QxTabPage.extend(QxWidget,"QxTabPage");QxTabPage.addProperty({name:"tab",type:Object});proto._modifyTab=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setPage(null,_b4);};if(_b1){_b1.setPage(this,_b4);};return true;};proto._shouldBecomeCreated=function(){var vTab=this.getTab();return vTab?vTab.getChecked():false;};function QxTab(vText,vIcon,vIconWidth,vIconHeight,vChecked){QxAtom.call(this,vText,vIcon,vIconWidth,vIconHeight);if(isValid(vChecked)){this.setChecked(vChecked);};this.setTabIndex(1);this.addEventListener("mousedown",this._g1);this.addEventListener("keyup",this._g5);};QxTab.extend(QxAtom,"QxTab");QxTab.addProperty({name:"page",type:Object});QxTab.addProperty({name:"group"});QxTab.addProperty({name:"name",type:String});QxTab.addProperty({name:"checked",type:Boolean});proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._modifyParent=function(_b1,_b2,_b3,_b4){QxToolBarRadioButton.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);if(_b2){_b2.getManager().remove(this);};if(_b1){_b1.getManager().add(this);};return true;};proto._modifyPage=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setTab(null,_b4);};if(_b1){_b1.setTab(this,_b4);};return true;};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this.getGroup()){this.getGroup().setSelected(this,_b4);};var vPage=this.getPage();if(vPage){vPage.setVisible(_b1);};this.setState(_b1?"checked":null,_b4);return true;};proto._visualizeFocus=function(){};proto._visualizeBlur=function(){};proto._g5=function(e){var vPrevious;switch(e.getKeyCode()){case QxKeyEvent.keys.left:vPrevious=this.getParent().getAlignTabsToLeft();break;case QxKeyEvent.keys.right:vPrevious=!this.getParent().getAlignTabsToLeft();break;default:return;};var vChild=vPrevious?this.isFirstChild()?this.getParent().getLastChild():this.getPreviousSibling():this.isLastChild()?this.getParent().getFirstChild():this.getNextSibling();vChild.setFocused(true);vChild.setChecked(true);};proto._g1=function(e){this.setFocused(true);this.setChecked(true);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mousedown",this._g1);this.removeEventListener("keyup",this._g5);QxAtom.prototype.dispose.call(this);};function QxBarSelectorFrame(){QxWidget.call(this);this._bar=new QxBarSelectorBar;this._pane=new QxBarSelectorPane;this.setPlaceBarOn("top");this.add(this._bar,this._pane);this._bar.addEventListener("resize",this._pane._applyState,this._pane);};QxBarSelectorFrame.extend(QxWidget,"QxBarSelectorFrame");QxBarSelectorFrame.addProperty({name:"placeBarOn",type:String});QxBarSelectorFrame.paneMap={top:"bottom",right:"left",bottom:"top",left:"right"};proto._modifyPlaceBarOn=function(_b1,_b2,_b3,_b4){this._bar.setState(_b1,_b4);this._pane.setState(QxBarSelectorFrame.paneMap[_b1],_b4);return true;};proto.getPane=function(){return this._pane;};proto.getBar=function(){return this._bar;};proto.dispose=function(){if(this.getDisposed()){return true;};if(this._bar){this._bar.dispose();this._bar=null;};if(this._pane){this._pane.dispose();this._pane=null;};return QxWidget.prototype.dispose.call(this);};function QxBarSelectorBar(){QxWidget.call(this);this._manager=new QxRadioButtonManager();};QxBarSelectorBar.extend(QxWidget,"QxBarSelectorBar");proto.getManager=function(){return this._manager;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vClasses=this.getCssClassName();if(isValidString(_b2)){vClasses=vClasses.remove(this.classname+"-"+_b2.toFirstUp()," ");};if(isValidString(_b1)){vClasses=vClasses.add(this.classname+"-"+_b1.toFirstUp()," ");};this.setCssClassName(vClasses,_b4);return this._applyState();};proto._applyState=function(){this._omitRendering();this["_applyState_"+this.getState()]();this._activateRendering();return true;};proto._applyState_top=function(){this.setBottom(null);this.setWidth(null);this.setHeight("auto");this.setLeft(0);this.setRight(0);this.setTop(0);};proto._applyState_right=function(){this.setLeft(null);this.setHeight(null);this.setWidth("auto");this.setRight(0);this.setBottom(0);this.setTop(0);};proto._applyState_bottom=function(){this.setWidth(null);this.setTop(null);this.setHeight("auto");this.setLeft(0);this.setRight(0);this.setBottom(0);};proto._applyState_left=function(){this.setRight(null);this.setHeight(null);this.setWidth("auto");this.setLeft(0);this.setBottom(0);this.setTop(0);};proto._layoutInternalWidgetsRunning=false;proto._layoutInternalWidgets=proto._d1=function(_e5){if(this._layoutInternalWidgetsRunning){return true;};var vPane=this.getParent().getPane();if(!this.isCreated()||!vPane.isCreated()){return true;};this._layoutInternalWidgetsRunning=true;var ch=this.getChildren();var chl=ch.length;var chc;switch(this.getState()){case "left":case "right":for(var i=0;i<chl;i++){chc=ch[i];chc._omitRendering();chc.setWidth(null);chc.setTop(null);chc.setBottom(null);chc.setLeft(0);chc.setRight(0);chc.setHeight("auto");chc._innerWidthChanged();chc._innerHeightChanged();chc._activateRendering();};break;default:for(var i=0;i<chl;i++){chc=ch[i];chc._omitRendering();chc.setLeft(null);chc.setRight(null);chc.setHeight(null);chc.setTop(0);chc.setBottom(0);chc.setWidth("auto");chc._innerWidthChanged();chc._innerHeightChanged();chc._activateRendering();};break;};this._layoutInternalWidgetsRunning=false;};proto._d2=function(_e5){return;};proto._onnewchild=function(otherObject){this._d1("append-child");};proto._onremovechild=function(otherObject){this._d1("remove-child");};proto._innerHeightChanged=function(){this._d4Height();this._d1("inner-height");};proto._innerWidthChanged=function(){this._d4Width();};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(this._layoutInternalWidgetsRunning){return;};return !this._wasVisible?true:this.getWidth()=="auto"?this._setChildrenDependWidth(vModifiedChild,_e5):this._d1(_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(this._layoutInternalWidgetsRunning){return;};return !this._wasVisible?true:this.getHeight()=="auto"?this._setChildrenDependHeight(vModifiedChild,_e5):this._d2(_e5);};proto.dispose=function(){if(this.getDisposed()){return;};if(this._manager){this._manager.dispose();this._manager=null;};QxWidget.prototype.dispose.call(this);};function QxBarSelectorPane(){QxWidget.call(this);};QxBarSelectorPane.extend(QxWidget,"QxBarSelectorPane");proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._modifyState=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._applyState=function(){var vParent=this.getParent();if(!vParent||!this.isCreated()){return true;};var vBar=vParent.getBar();if(!vBar.isCreated()){return true;};var vTop=0,vRight=0,vBottom=0,vLeft=0;switch(this.getState()){case "top":vBottom=vBar.getComputedBoxHeight()-this.getComputedBorderBottom();break;case "right":vLeft=vBar.getComputedBoxWidth()-this.getComputedBorderLeft();break;case "left":vRight=vBar.getComputedBoxWidth()-this.getComputedBorderRight();break;default:vTop=vBar.getComputedBoxHeight()-this.getComputedBorderTop();};this.setTop(vTop);this.setRight(vRight);this.setBottom(vBottom);this.setLeft(vLeft);return true;};function QxBarSelectorPage(vTab){QxTabPage.call(this,vTab);};QxBarSelectorPage.extend(QxTabPage,"QxBarSelectorPage");function QxBarSelectorButton(vText,vIcon,vIconWidth,vIconHeight,vChecked){QxTab.call(this,vText,vIcon,vIconWidth,vIconHeight,vChecked);this.setIconPosition("top");this.setHorizontalBlockAlign("center");this.setVerticalBlockAlign("middle");};QxBarSelectorButton.extend(QxTab,"QxBarSelectorButton");proto._g5=function(e){switch(this.getParent().getState()){case "top":case "bottom":switch(e.getKeyCode()){case QxKeyEvent.keys.left:var vPrevious=true;break;case QxKeyEvent.keys.right:var vPrevious=false;break;default:return;};break;case "left":case "right":switch(e.getKeyCode()){case QxKeyEvent.keys.up:var vPrevious=true;break;case QxKeyEvent.keys.down:var vPrevious=false;break;default:return;};break;default:return;};var vChild=vPrevious?this.isFirstChild()?this.getParent().getLastChild():this.getPreviousSibling():this.isLastChild()?this.getParent().getFirstChild():this.getNextSibling();vChild.setFocused(true);vChild.setChecked(true);};function QxMenuManager(){if(QxMenuManager._instance){return QxMenuManager._instance;};QxManager.call(this);QxMenuManager._instance=this;};QxMenuManager.extend(QxManager,"QxMenuManager");proto.update=function(oTarget){var m;for(var vHash in this._objects){m=this._objects[vHash];if(!m.getAutoHide()){continue;};m.setVisible(false);};};function QxMenu(){QxPopup.call(this);this.setWidth("auto");this.setHeight(null);this.setTimerCreate(false);this.setMinWidth(120);this._openTimer=new QxTimer(this.getOpenInterval());this._openTimer.addEventListener("interval",this._onopentimer,this);this._closeTimer=new QxTimer(this.getCloseInterval());this._closeTimer.addEventListener("interval",this._onclosetimer,this);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mousemove",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("keydown",this._g4);};QxMenu.extend(QxPopup,"QxMenu");QxMenu.addProperty({name:"iconContentGap",type:Number,defaultValue:4});QxMenu.addProperty({name:"textShortcutGap",type:Number,defaultValue:10});QxMenu.addProperty({name:"contentArrowGap",type:Number,defaultValue:6});QxMenu.addProperty({name:"hoverItem",type:Object});QxMenu.addProperty({name:"openItem",type:Object});QxMenu.addProperty({name:"opener",type:Object});QxMenu.addProperty({name:"parentMenu",type:Object});QxMenu.addProperty({name:"fastReopen",type:Boolean,defaultValue:false});QxMenu.addProperty({name:"openInterval",type:Number,defaultValue:250});QxMenu.addProperty({name:"closeInterval",type:Number,defaultValue:250});QxMenu.addProperty({name:"subMenuHorizontalOffset",type:Number,defaultValue:-3});QxMenu.addProperty({name:"subMenuVerticalOffset",type:Number,defaultValue:-2});QxMenu.addProperty({name:"minIconColumnWidth",type:Number,defaultValue:16});QxMenu.addProperty({name:"showIconColumnWithoutAnyIcon",type:Boolean,defaultValue:true});proto._menuManager=new QxMenuManager();proto._beforeShow=function(_b4){QxAtom.prototype._beforeShow.call(this,_b4);this._menuManager.add(this);this.bringToFront();this._makeActive();};proto._beforeHide=function(_b4){QxAtom.prototype._beforeHide.call(this,_b4);this.sendToBack();this._menuManager.remove(this);this._makeInactive();};proto._modifyHoverItem=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setState(null);};if(_b1){_b1.setState("hover");};return true;};proto._modifyOpenItem=function(_b1,_b2,_b3,_b4){var vMakeActive=false;if(_b2){var vOldSub=_b2.getMenu();if(vOldSub){vOldSub.setParentMenu(null);vOldSub.setOpener(null);vOldSub.setVisible(false);};};if(_b1){var vSub=_b1.getMenu();if(vSub){vSub.setOpener(_b1);vSub.setParentMenu(this);vSub.setTop(_b1.getComputedPageBoxTop()+this.getSubMenuVerticalOffset());vSub.setLeft(this.getComputedPageBoxLeft()+this.getComputedBoxWidth()+this.getSubMenuHorizontalOffset());vSub.setVisible(true);};};return true;};proto._modifyVisible=function(_b1,_b2,_b3,_b4){this.setHoverItem(null);this.setOpenItem(null);if(_b2){var vOpener=this.getOpener();if(vOpener&&vOpener.getState()!="hover"){vOpener.setState(null);};};return QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto._setChildrenDependWidth=function(_e4,_e5){var vMaxPaddingLeft=0;var vMaxPaddingRight=0;var vMaxIconWidth=0;var vMaxTextWidth=0;var vMaxShortcutWidth=0;var vMaxArrowWidth=0;var vMaxTextWidth=0;var vMaxContentWidth=0;var vIconContentGap=this.getIconContentGap();var vContentArrowGap=this.getContentArrowGap();var vTextShortcutGap=this.getTextShortcutGap();var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc instanceof QxMenuButton){vMaxPaddingLeft=Math.max(vMaxPaddingLeft,chc.getComputedPaddingLeft());vMaxPaddingRight=Math.max(vMaxPaddingRight,chc.getComputedPaddingRight());vMaxIconWidth=Math.max(vMaxIconWidth,chc.getNeededIconWidth());vMaxArrowWidth=Math.max(vMaxArrowWidth,chc.getNeededArrowWidth());if(chc.getNeededShortcutWidth()>0){vMaxTextWidth=Math.max(vMaxTextWidth,chc.getNeededTextWidth());vMaxShortcutWidth=Math.max(vMaxShortcutWidth,chc.getNeededShortcutWidth());}else {vMaxContentWidth=Math.max(vMaxContentWidth,chc.getNeededTextWidth());};};};if(vMaxIconWidth>0||this.getShowIconColumnWithoutAnyIcon()){vMaxIconWidth=Math.max(vMaxIconWidth,this.getMinIconColumnWidth());};vMaxContentWidth=Math.max(vMaxContentWidth,(vMaxTextWidth+vTextShortcutGap+vMaxShortcutWidth));this._childIconPosition=vMaxPaddingLeft;var vUseIconWidth=vMaxIconWidth>0?(vMaxIconWidth+vIconContentGap):0;this._childTextPosition=this._childIconPosition+vUseIconWidth;var vUseEndPos=this._childTextPosition+vMaxContentWidth;var vUseMaxArrow=vMaxArrowWidth>0?vContentArrowGap+vMaxArrowWidth:4;var vUseInnerWidth=vMaxPaddingLeft+vUseEndPos+vUseMaxArrow+vMaxPaddingRight;var vUseOuterFrame=this.getComputedBorderLeft()+this.getComputedPaddingLeft()+this.getComputedPaddingRight()+this.getComputedBorderRight();var vUseOuterWidth=vUseInnerWidth+vUseOuterFrame;var vMinWidth=this.getMinWidth();if(vMinWidth!=null&&vUseOuterWidth<vMinWidth){vUseEndPos=vMinWidth-vUseOuterFrame-vMaxPaddingLeft-vMaxPaddingRight-vUseMaxArrow;};this._childShortcutPosition=vUseEndPos-vMaxShortcutWidth;this._childArrowPosition=vUseEndPos+vContentArrowGap;this.setWidth(vUseOuterWidth,null,true);};proto._onmouseover=function(e){var vParent=this.getParentMenu();if(vParent){vParent._closeTimer.stop();var vOpener=this.getOpener();if(vOpener){vParent.setHoverItem(vOpener);};};var t=e.getActiveTarget();if(t==this){this._openTimer.stop();this._closeTimer.start();this.setHoverItem(null);return;};var vOpen=this.getOpenItem();if(vOpen){this.setHoverItem(t);this._openTimer.stop();if(t.hasMenu()){if(this.getFastReopen()){this.setOpenItem(t);this._closeTimer.stop();}else {this._openTimer.start();};}else {this._closeTimer.start();};}else {this.setHoverItem(t);this._openTimer.stop();if(t.hasMenu()){this._openTimer.start();};};};proto._onmouseout=function(e){this._openTimer.stop();var t=e.getActiveTarget();if(t!=this&&t.hasMenu()){this._closeTimer.start();};this.setHoverItem(null);};proto._onopentimer=function(e){this._openTimer.stop();var vHover=this.getHoverItem();if(vHover&&vHover.hasMenu()){this.setOpenItem(vHover);};};proto._onclosetimer=function(e){this._closeTimer.stop();this.setOpenItem(null);};proto._g4=function(e){switch(e.getKeyCode()){case QxKeyEvent.keys.up:this._g4_up(e);break;case QxKeyEvent.keys.down:this._g4_down(e);break;case QxKeyEvent.keys.left:this._g4_left(e);break;case QxKeyEvent.keys.right:this._g4_right(e);break;case QxKeyEvent.keys.enter:this._g4_enter(e);break;default:return;};e.preventDefault();};proto._g4_up=function(e){var vHover=this.getHoverItem();var vPrev=vHover?vHover.isFirstChild()?this.getLastActiveChild():vHover.getPreviousActiveSibling([QxMenuSeparator]):this.getLastActiveChild();this.setHoverItem(vPrev);};proto._g4_down=function(e){var vHover=this.getHoverItem();var vNext=vHover?vHover.isLastChild()?this.getFirstActiveChild():vHover.getNextActiveSibling([QxMenuSeparator]):this.getFirstActiveChild();this.setHoverItem(vNext);};proto._g4_left=function(e){var vOpener=this.getOpener();if(vOpener instanceof QxMenuButton){var vOpenerParent=this.getOpener().getParent();vOpenerParent.setOpenItem(null);vOpenerParent.setHoverItem(vOpener);vOpenerParent._makeActive();}else if(vOpener instanceof QxMenuBarButton){var vOpenerParent=this.getOpener().getParent();(new QxApplication).setActiveWidget(vOpenerParent);vOpenerParent._g4(e);};};proto._g4_right=function(e){var vHover=this.getHoverItem();if(vHover){var vMenu=vHover.getMenu();if(vMenu){this.setOpenItem(vHover);vMenu.setHoverItem(vMenu.getFirstChild());return;};}else if(!this.getOpenItem()){var vFirst=this.getFirstActiveChild();if(vFirst){vFirst.hasMenu()?this.setOpenItem(vFirst):this.setHoverItem(vFirst);};};var vOpener=this.getOpener();if(vOpener instanceof QxMenuBarButton){var vOpenerParent=this.getOpener().getParent();(new QxApplication).setActiveWidget(vOpenerParent);vOpenerParent._g4(e);}else if(vOpener instanceof QxMenuButton&&vHover){var vOpenerParent=vOpener.getParent();while(vOpenerParent){if(vOpenerParent instanceof QxMenuBar){(new QxApplication).setActiveWidget(vOpenerParent);vOpenerParent._g4(e);break;};try{vOpenerParent=vOpenerParent.getOpener().getParent();}catch(ex){break;};};};};proto._g4_enter=function(e){var vHover=this.getHoverItem();if(vHover){vHover.execute();};(new QxMenuManager()).update();};proto.dispose=function(){if(this.getDisposed()){return;};if(this._openTimer){this._openTimer.dispose();this._openTimer=null;};if(this._closeTimer){this._closeTimer.dispose();this._closeTimer=null;};this.removeEventListener("mouseover",this._onmouseover);this.removeEventListener("mousemove",this._onmouseover);this.removeEventListener("mouseout",this._onmouseout);this.removeEventListener("keydown",this._g4);return QxPopup.prototype.dispose.call(this);};function QxMenuButton(vText,vIcon,vCommand,vMenu){QxWidget.call(this);this.setHeight("auto");this.setLeft(0);this.setRight(0);this.setMinHeight(20);this.setTimerCreate(false);if(isValidString(vText)){this.setText(vText);};if(isValid(vIcon)){this.setIcon(vIcon);};if(isValid(vCommand)){this.setCommand(vCommand);};if(isValid(vMenu)){this.setMenu(vMenu);};this.addEventListener("mousedown",this._g1);};QxMenuButton.extend(QxWidget,"QxMenuButton");QxMenuButton.addProperty({name:"text",type:String});QxMenuButton.addProperty({name:"icon",type:String});QxMenuButton.addProperty({name:"menu",type:Object});proto._f1=null;proto._f2=null;proto._f3=null;proto._f4=null;proto._c1=false;proto._c2=false;proto._c3=false;proto._c4=false;proto._valueShortcut="";proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){if(this._c1&&!this._f1){this._e3Icon();};if(this._c2&&!this._f2){this._e3Text();};if(this._c3&&!this._f3){this._e3Shortcut();};if(this._c4&&!this._f4){this._e3Arrow();};};return QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){if(this._f2){this._f2.setEnabled(_b1,_b4);};if(this._f1){this._f1.setEnabled(_b1,_b4);};return QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};proto._modifyIcon=function(_b1,_b2,_b3,_b4){this._c1=isValid(_b1);return true;};proto._modifyText=function(_b1,_b2,_b3,_b4){this._c2=isValid(_b1);return true;};proto._modifyCommand=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this._c3=true;this._valueShortcut=_b1.toString();}else {this._c3=false;this._valueShortcut="";};return true;};proto._modifyMenu=function(_b1,_b2,_b3,_b4){this._c4=isValid(_b1);return true;};proto.hasMenu=function(){return Boolean(this.getMenu());};proto._e3Icon=function(){var i=this._f1=new QxImage();i.setSource(this.getIcon());i.setAnonymous(true);i.setEnabled(this.isEnabled());i.setParent(this);i._addCssClassName("QxMenuButtonIcon");};proto._e3Text=function(){var t=this._f2=new QxContainer();t.setHtml(this.getText());t.setAnonymous(true);t.setEnabled(this.isEnabled());t.setParent(this);t._addCssClassName("QxMenuButtonText");};proto._e3Shortcut=function(){var s=this._f3=new QxContainer();s.setHtml(this._valueShortcut);s.setAnonymous(true);s.setEnabled(this.isEnabled());s.setParent(this);s._addCssClassName("QxMenuButtonShortcut");};proto._e3Arrow=function(){var a=this._f4=new QxImage();a.setSource("widgets/arrows/next.gif");a.setAnonymous(true);a.setEnabled(this.isEnabled());a.setParent(this);a._addCssClassName("QxMenuButtonArrow");};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");};proto._d1=function(_e5){var vParent=this.getParent();if(this._f1){this._f1._d3Horizontal(vParent._childIconPosition);};if(this._f2){this._f2._d3Horizontal(vParent._childTextPosition);};if(this._f3){this._f3._d3Horizontal(vParent._childShortcutPosition);};if(this._f4){this._f4._d3Horizontal(vParent._childArrowPosition);};};proto._d2=function(_e5){var vInner=this.getInnerHeight();if(this._f1){this._f1._d3Vertical((vInner-this._f1.getPreferredHeight())/2);};if(this._f2){this._f2._d3Vertical((vInner-this._f2.getPreferredHeight())/2);};if(this._f3){this._f3._d3Vertical((vInner-this._f3.getPreferredHeight())/2);};if(this._f4){this._f4._d3Vertical((vInner-this._f4.getPreferredHeight())/2);};};proto._setChildrenDependHeight=function(_e4,_e5){if(this._c1&&_e4==this._f1&&_e5=="unload"){return true;};var newHeight=this._d5Height(_e4,_e5);if(this._heightMode=="inner"&&this._heightModeValue==newHeight){switch(_e5){case "load":case "append-child":case "preferred":switch(_e4){case this._f1:case this._f2:case this._hintObject:case this._f4:return this._d2(_e5);};};}else {this.setInnerHeight(newHeight,null,true);};return true;};proto.getNeededIconWidth=function(){return this._c1?this._f1.getAnyWidth():0;};proto.getNeededTextWidth=function(){return this._c2?this._f2.getAnyWidth():0;};proto.getNeededShortcutWidth=function(){return this._c3?this._f3.getAnyWidth():0;};proto.getNeededArrowWidth=function(){return this._c4?this._f4.getAnyWidth():0;};proto._g1=function(e){this.execute();};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mousedown",this._g1);return QxWidget.prototype.dispose.call(this);};function QxMenuCheckBox(vText,vCommand,vChecked){QxMenuButton.call(this,vText,this._source,vCommand);if(isValid(vChecked)){this.setChecked(vChecked);};};QxMenuCheckBox.extend(QxMenuButton,"QxMenuCheckBox");QxMenuCheckBox.addProperty({name:"name",type:String});QxMenuCheckBox.addProperty({name:"value",type:String});QxMenuCheckBox.addProperty({name:"checked",type:Boolean,defaultValue:false,getAlias:"isChecked"});proto._source = "widgets/menu/checkbox.gif";proto._e3Icon=function(){QxMenuButton.prototype._e3Icon.call(this);this._f1.setVisible(this.getChecked());};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setVisible(_b1);};return true;};proto.execute=function(){this.setChecked(!this.getChecked());QxMenuButton.prototype.execute.call(this);};function QxMenuRadioButton(vText,vCommand,vChecked){QxMenuCheckBox.call(this,vText,vCommand,vChecked);};QxMenuRadioButton.extend(QxMenuCheckBox,"QxMenuRadioButton");QxMenuRadioButton.addProperty({name:"group"});proto._source = "widgets/menu/radiobutton.gif";proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this.getGroup()){this.getGroup().setSelected(this,_b4);};return QxMenuCheckBox.prototype._modifyChecked.call(this,_b1,_b2,_b3,_b4);};proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){if(this.getGroup()){this.getGroup().setName(_b1,_b4);};return true;};proto.execute=function(){this.setChecked(true);QxMenuButton.prototype.execute.call(this);};function QxMenuSeparator(){QxWidget.call(this);this.setTimerCreate(false);this._line=new QxWidget();this._line.setCssClassName("QxMenuSeparatorLine");this._line.setAnonymous(true);this._line.setTimerCreate(false);this.add(this._line);this.addEventListener("mousedown",this._g1);};QxMenuSeparator.extend(QxWidget,"QxMenuSeparator");proto.hasMenu=function(){return false;};proto._modifyState=function(){return true;};proto._g1=function(e){e.stopPropagation();};function QxMenuBar(){QxWidget.call(this);this.addEventListener("keydown",this._g4);};QxMenuBar.extend(QxWidget,"QxMenuBar");QxMenuBar.addProperty({name:"menu",type:Object});proto._modifyMenu=function(_b1,_b2,_b3,_b4){if(_b2){_b2.getOpener().setState("normal",_b4);_b2.setVisible(false,_b4);};if(_b1){var vOpener=_b1.getOpener();_b1.setLeft(vOpener.getComputedPageBoxLeft(),_b4);_b1.setTop(vOpener.getComputedPageBoxBottom(),_b4);_b1.setVisible(true,_b4);};return true;};proto._g4=function(e){switch(e.getKeyCode()){case QxKeyEvent.keys.left:this._g4_left(e);break;case QxKeyEvent.keys.right:this._g4_right(e);break;};};proto._g4_left=function(e){var vMenu=this.getMenu();if(!vMenu){return;};var vOpener=vMenu.getOpener();if(!vOpener){return;};var vPrev=vOpener?vOpener.isFirstChild()?this.getLastActiveChild():vOpener.getPreviousActiveSibling():this.getLastActiveChild();vPrev.setState("pressed");var vPrevMenu=vPrev.getMenu();if(vPrevMenu){var vPrevFirst=vPrevMenu.getFirstActiveChild();if(vPrevFirst){vPrevMenu.setHoverItem(vPrevFirst);};};};proto._g4_right=function(e){var vMenu=this.getMenu();if(!vMenu){return;};var vOpener=vMenu.getOpener();if(!vOpener){return;};var vNext=vOpener?vOpener.isLastChild()?this.getFirstActiveChild():vOpener.getNextActiveSibling():this.getFirstActiveChild();vNext.setState("pressed");var vNextMenu=vNext.getMenu();if(vNextMenu){var vNextFirst=vNextMenu.getFirstActiveChild();if(vNextFirst){vNextMenu.setHoverItem(vNextFirst);};};};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("keydown",this._g4);return QxWidget.prototype.dispose.call(this);};function QxMenuBarButton(vText,vMenu){QxWidget.call(this);this.setCanSelect(false);if(isValid(vText)){this.setText(vText);};if(isValid(vMenu)){this.setMenu(vMenu);};this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("mousedown",this._g1);};QxMenuBarButton.extend(QxWidget,"QxMenuBarButton");QxMenuBarButton.addProperty({name:"text",type:String});QxMenuBarButton.addProperty({name:"menu"});QxMenuBarButton.addProperty({name:"status",type:String,defaultValue:"normal"});proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);if(_b1){if(!this._textNode){this._textNode=document.createTextNode(this.getText());};_b1.appendChild(this._textNode);}else if(_b2&&this._textNode){_b2.removeChild(this._textNode);};return true;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vParent=this.getParent();if(vParent.getMenu()==this.getMenu()){if(_b1==null||_b1=="hover"){vParent.setMenu(null,_b4);};}else if(_b1=="pressed"){vParent.setMenu(this.getMenu(),_b4);};return QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto._modifyText=function(_b1,_b2,_b3,_b4){if(!this.isCreated()){return true;};this._textNode.nodeValue=_b1;return true;};proto._modifyMenu=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setOpener(null,_b4);};if(_b1){_b1.setOpener(this,_b4);};return true;};proto._onmouseover=function(e){var vMenu=this.getParent().getMenu();if(vMenu!=this.getMenu()){this.setState(vMenu?"pressed":"hover");};};proto._onmouseout=function(e){if(this.getState()=="hover"){this.setState(null);};};proto._g1=function(e){if(e.isNotLeftButton()){return;};this.setState(this.getState()=="pressed"?"hover":"pressed");e.setPropagationStopped(true);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mouseover",this._onmouseover);this.removeEventListener("mouseout",this._onmouseout);this.removeEventListener("mousedown",this._g1);QxWidget.prototype.dispose.call(this);};function QxTreeElement(vLabel){QxWidget.call(this);if(isValid(vLabel)){this.setLabel(vLabel);};this.setTagName("li");var im=new QxImageManager();this._navigationLineURI = im.buildURI("widgets/tree/line.gif");this._navigationCrossURI = im.buildURI("widgets/tree/cross.gif");this._navigationCrossPlusURI = im.buildURI("widgets/tree/cross_plus.gif");this._navigationCrossMinusURI = im.buildURI("widgets/tree/cross_minus.gif");this._navigationEndURI = im.buildURI("widgets/tree/end.gif");this._navigationEndPlusURI = im.buildURI("widgets/tree/end_plus.gif");this._navigationEndMinusURI = im.buildURI("widgets/tree/end_minus.gif");this._navigationSimplePlusURI = im.buildURI("widgets/tree/plus.gif");this._navigationSimpleMinusURI = im.buildURI("widgets/tree/minus.gif");this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("mousemove",this._onmouseover);};QxTreeElement.extend(QxWidget,"QxTreeElement");QxTreeElement._indentCache=[];QxTreeElement.addProperty({name:"label",type:String});QxTreeElement.addProperty({name:"level",type:Number,defaultValue:1});QxTreeElement.addProperty({name:"active",type:Boolean,defaultValue:false});QxTreeElement.addProperty({name:"parentTree"});proto._obtainLastChildState=function(){this._renderImplNavigation();};proto._loseLastChildState=function(){this._renderImplNavigation();};proto.getOpen=function(){return false;};proto._shouldBecomeCreated=function(){return this.getParent().getOpen();};proto._modifyParent=function(_b1,_b2,_b3,_b4){if(_b1){this.setParentTree(_b1.getParentTree(),_b4);this.setLevel(_b1.getLevel()+1);}else {this.setParentTree(null,_b4);};QxWidget.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);if(_b1&&this.isCreated()){this._renderImplIndent();this._renderImplNavigation();};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){this._table=QxTreeElement._h3.cloneNode(true);this._tableRow=this._table.firstChild.firstChild;this._indentCell=this._tableRow.childNodes[0];this._navigationCell=this._tableRow.childNodes[1];this._navigationImage=this._navigationCell.firstChild;this._iconCell=this._tableRow.childNodes[2];this._iconImage=this._iconCell.firstChild;this._labelCell=this._tableRow.childNodes[3];this._renderImplIndent();this._renderImplNavigation();this._renderImplIcon();this._renderImplLabel();_b1.appendChild(this._table);QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return true;};proto._modifyParentTree=function(_b1,_b2,_b3,_b4){if(this.isCreated()&&!_b2&&_b1){this._renderImplNavigation();this._renderImplIndent();};return true;};proto._modifyActive=function(_b1,_b2,_b3,_b4){var p=this.getParentTree();var c="QxTreeElementLabelCellSelected";if(_b1){QxDOM.addClass(this._labelCell,c);if(p){p.setActiveElement(this,_b4);};}else {QxDOM.removeClass(this._labelCell,c);if(p){p.setActiveElement(null,_b4);};};return true;};proto._modifyLabel=function(_b1,_b2,_b3,_b4){return this._renderImplLabel();};proto._renderImplLabel=function(){if(!this.isCreated()){return true;};var vLabel=this.getLabel();if(vLabel){this._labelCell.firstChild.nodeValue=vLabel;this._table.style.display="block";}else {this._table.style.display="none";};return true;};proto._renderImplIcon=function(){if(!this.isCreated()){return true;};this._iconImage.src=(new QxImageManager).getBlank();return true;};proto._renderImplNavigation=function(){if(!this.isCreated()){return true;};var vParentTree=this.getParentTree();if(!vParentTree){return true;};var newSrc;if(!vParentTree.useTreeLines()){newSrc=(new QxImageManager).getBlank();}else if(this.isLastChild()){newSrc=this._navigationEndURI;}else {newSrc=this._navigationCrossURI;};if(newSrc!=this._navigationImage.src){this._navigationImage.src=newSrc;};return true;};proto._modifyLevel=function(_b1,_b2,_b3,_b4){return this._renderImplIndent();};proto._renderImplIndent=function(){if(!this.isCreated()){return true;};var vParentTree=this.getParentTree();if(!vParentTree){return true;};var vLevel=this.getLevel();if(vLevel==0){return true;};var vParent=this.getParent();if(!vParent){return true;};var chl=this._indentCell.childNodes.length;vLevel--;if(vLevel>chl){var diff=vLevel-chl;var io;do{if(QxTreeElement._indentCache.length>0){this._indentCell.appendChild(QxTreeElement._indentCache.shift());}else {io=new Image();io.src=(new QxImageManager).getBlank();this._indentCell.appendChild(io);};}while(--diff);}else if(vLevel<chl){var diff=chl-vLevel;do{QxTreeElement._indentCache.push(this._indentCell.removeChild(this._indentCell.lastChild));}while(--diff);};var chl=this._indentCell.childNodes.length;if(vLevel<1){return true;};var chI,nI;var vNoLines=!vParentTree.useTreeLines();do{chI=this._indentCell.childNodes[vLevel-1];if(vNoLines||vParent.isLastChild()){nI=(new QxImageManager).getBlank();}else {nI=this._navigationLineURI;};if(nI!=chI.src){chI.src=nI;};vParent=vParent.getParent();if(!vParent){break;};}while(--vLevel);return true;};proto._g1=function(e){switch(e.getDomTargetByTagName("TD",this.getElement())){case this._indentCell:return this._g1Indent(e);case this._navigationCell:return this._g1Navigation(e);case this._iconCell:return this._g1Icon(e);case this._labelCell:return this._g1Label(e);};};proto._g1Indent=function(e){e.preventDefault();};proto._g1Navigation=function(e){e.preventDefault();};proto._g1Icon=function(e){this.setActive(true);e.preventDefault();};proto._g1Label=function(e){this.setActive(true);};proto._g3=function(e){switch(e.getDomTargetByTagName("TD",this.getElement())){case this._indentCell:return this._g3Indent(e);case this._navigationCell:return this._g3Navigation(e);case this._iconCell:return this._g3Icon(e);case this._labelCell:return this._g3Label(e);};};proto._g3Indent=proto._g3Navigation=function(e){};proto._g3Icon=proto._g3Label=function(e){if(this.getParentTree().useDoubleClick()){return;};this.setActive(true);};proto._ondblclick=function(e){var pt=this.getParentTree();if(pt&&!pt.useDoubleClick()){return;};switch(e.getDomTargetByTagName("TD",this.getElement())){case this._indentCell:return this._ondblclickIndent(e);case this._navigationCell:return this._ondblclickNavigation(e);case this._iconCell:return this._ondblclickIcon(e);case this._labelCell:return this._ondblclickLabel(e);};};proto._ondblclickIndent=proto._ondblclickNavigation=proto._ondblclickIcon=proto._ondblclickLabel=function(e){};proto._hoverClass="QxTreeElementLabelCellHover";proto._onmouseover=function(e){var pt=this.getParentTree();if(pt&&pt.useHoverEffects()){switch(e.getDomTargetByTagName("TD")){case this._labelCell:case this._iconCell:QxDOM.addClass(this._labelCell,this._hoverClass);break;default:QxDOM.removeClass(this._labelCell,this._hoverClass);};e.setPropagationStopped(true);};};proto._onmouseout=function(e){var pt=this.getParentTree();if(pt&&pt.useHoverEffects()){QxDOM.removeClass(this._labelCell,this._hoverClass);e.setPropagationStopped(true);};};proto._removeHover=function(){if(this.isCreated()){QxDOM.removeClass(this._labelCell,this._hoverClass);};};proto.dispose=function(){if(this._disposed){return;};QxWidget.prototype.dispose.call(this);this.removeEventListener("click",this._g3);this.removeEventListener("dblclick",this._ondblclick);};QxTreeElement.init=function(){var lt,lb,lr;var lt1,lt2,lt3,lt4;var li2;lt=QxTreeElement._h3=document.createElement("table");lt.border=0;lt.cellSpacing=0;lt.cellPadding=0;lb=document.createElement("tbody");lt.appendChild(lb);lr=document.createElement("tr");lb.appendChild(lr);lt1=document.createElement("td");lr.appendChild(lt1);lt1.className="QxTreeElementIndentCell";lt2=document.createElement("td");lr.appendChild(lt2);lt2.className="QxTreeElementNavigationCell";li2=new Image();li2.src=(new QxImageManager).getBlank();li2.height=16;li2.width=19;lt2.appendChild(li2);lt3=document.createElement("td");lr.appendChild(lt3);lt3.className="QxTreeElementIconCell";li3=new Image();li3.src=(new QxImageManager).getBlank();li3.height=16;li3.width=16;lt3.appendChild(li3);lt4=document.createElement("td");lr.appendChild(lt4);lt4.className="QxTreeElementLabelCell";lt4.appendChild(document.createTextNode("-"));if((new QxClient).isMshtml()){lt.unselectable=lb.unselectable=lr.unselectable=lt1.unselectable=lt2.unselectable=lt3.unselectable=lt4.unselectable=li2.unselectable="on";};};QxTreeElement.init();function QxTreeFile(vLabel,vIconURI){if(isValid(vIconURI)){this.setIconURI(vIconURI);};QxTreeElement.call(this,vLabel);};QxTreeFile.extend(QxTreeElement,"QxTreeFile");QxTreeFile.addProperty({ name : "iconURI", type : String, defaultValue : "icons/16/doc.png" });proto._renderImplIcon=function(){if(!this.isCreated()){return true;};this._iconImage.src=(new QxImageManager).buildURI(this.getIconURI());return true;};function QxTreeFolder(vLabel,vIconOpenURI,vIconCloseURI){if(isValid(vIconOpenURI)){this.setIconOpenURI(vIconOpenURI);};if(isValid(vIconCloseURI)){this.setIconCloseURI(vIconCloseURI);};QxTreeElement.call(this,vLabel,this._closeIcon);};QxTreeFolder.extend(QxTreeElement,"QxTreeFolder");QxTreeFolder.addProperty({name:"open",type:Boolean,defaultValue:false});QxTreeFolder.addProperty({ name : "iconOpenURI", type : String, defaultValue : "icons/16/folder_open.png" });QxTreeFolder.addProperty({ name : "iconCloseURI", type : String, defaultValue : "icons/16/folder.png" });proto._obtainLastChildState=function(){this._renderImplNavigation();this._renderImplIndent();};proto._loseLastChildState=function(){if(this.getParent()){this._renderImplNavigation();this._renderImplIndent();};};proto._obtainFirstChild=function(){this._renderImplNavigation();};proto._loseAllChilds=function(){switch(this.getOpen()){case true:this.setOpen(false);break;case false:this._renderImplNavigation();break;};};proto._modifyParentTree=function(_b1,_b2,_b3,_b4){QxTreeElement.prototype._modifyParentTree.call(this,_b1,_b2,_b3,_b4);var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i].setParentTree(_b1,_b4);};return true;};proto._modifyLevel=function(_b1,_b2,_b3,_b4){var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i].setLevel(_b1+1,_b4);};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){this._subList=document.createElement("ul");QxTreeElement.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);_b1.appendChild(this._subList);return true;};proto._getParentNodeForChild=function(oo){if(oo!=null&&oo instanceof QxTreeElement){return this._subList;};return QxTreeElement.prototype._getParentNodeForChild.call(this,oo);};proto._wasOpen=false;proto._invalidIndent=false;proto._modifyOpen=function(_b1,_b2,_b3,_b4){if(!this.isCreated()){return true;};if(_b1){this._subList.style.display="block";if(this._invalidChildrenIndent){this._renderImplIndent();this._invalidChildrenIndent=false;};if(this._invalidChildrenLines){this._updateTreeLines();};this._createChildren();this._renderImplNavigation();this._renderImplIcon();this._wasOpen=true;}else {this._subList.style.display="none";this._renderImplNavigation();this._renderImplIcon();this._removeHover();};return true;};proto._removeHover=function(){var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._removeHover();};QxTreeElement.prototype._removeHover.call(this);};proto._invalidChildrenLines=false;proto._updateTreeLines=function(){var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];chc._renderImplNavigation();chc._renderImplIndent();if(chc instanceof QxTreeFolder&&chc.isCreated()){if(chc.getOpen()){chc._updateTreeLines();}else {chc._invalidChildrenLines=true;};}else {chc._invalidChildrenLines=false;};};this._invalidChildrenLines=false;};proto._renderImplNavigation=function(){if(!this.isCreated()){return true;};var vParentTree=this.getParentTree();if(!vParentTree){return true;};var newSrc;if(!vParentTree.useTreeLines()){if(!this.hasChildren()){newSrc=(new QxImageManager).getBlank();}else if(this.getOpen()){newSrc=this._navigationSimpleMinusURI;}else {newSrc=this._navigationSimplePlusURI;};}else if(this.isLastChild()){if(!this.hasChildren()){newSrc=this._navigationEndURI;}else if(this.getOpen()){newSrc=this._navigationEndMinusURI;}else {newSrc=this._navigationEndPlusURI;};}else {if(!this.hasChildren()){newSrc=this._navigationCrossURI;}else if(this.getOpen()){newSrc=this._navigationCrossMinusURI;}else {newSrc=this._navigationCrossPlusURI;};};if(newSrc!=this._navigationImage.src){this._navigationImage.src=newSrc;};return true;};proto._renderImplIcon=function(){if(!this.isCreated()){return true;};var newSrc=(new QxImageManager).buildURI(this.getActive()?this.getIconOpenURI():this.getIconCloseURI());if(newSrc!=this._iconImage.src){this._iconImage.src=newSrc;};return true;};proto._modifyActive=function(_b1,_b2,_b3,_b4){QxTreeElement.prototype._modifyActive.call(this,_b1,_b2,_b3,_b4);return this._renderImplIcon();};proto._renderImplIndent=function(){if(!this.isCreated()){return true;};QxTreeElement.prototype._renderImplIndent.call(this);if(!this.hasChildren()){}else if(this.getOpen()){this._renderImplChildrenIndent();}else if(this._wasOpen){this._invalidChildrenIndent=true;};return true;};proto._renderImplChildrenIndent=function(){var ch=this.getChildren();var chl=ch.length-1;if(chl>-1){do{ch[chl]._renderImplIndent();}while(chl--);};this._invalidChildrenIndent=false;};proto._shouldBecomeChilds=function(){return this.getOpen();};proto._g3Navigation=function(e){if(this.hasChildren()){this.setOpen(!this.getOpen());};};proto._g3Label=function(e){QxTreeElement.prototype._g3Label.call(this,e);if(this.getParentTree().useDoubleClick()||this.getChildrenLength()==0){this.setActive(true);}else {this.setOpen(true);};};proto._g3Icon=function(e){QxTreeElement.prototype._g3Icon.call(this,e);if(this.getParentTree().useDoubleClick()||this.getChildrenLength()==0){this.setActive(true);}else {this.setOpen(true);};};proto._ondblclickLabel=function(e){QxTreeElement.prototype._ondblclickLabel.call(this,e);this.setOpen(!this.getOpen());};proto._ondblclickIcon=function(e){QxTreeElement.prototype._ondblclickIcon.call(this,e);this.setOpen(!this.getOpen());};function QxTree(vLabel,vIconOpenURI,vIconCloseURI){if(isValid(vLabel)){QxTreeFolder.call(this,vLabel,vIconOpenURI,vIconCloseURI);}else{QxTreeElement.call(this);};this.setTagName("div");this.setLevel(0);this.setParentTree(this);this.setTabIndex(1);this.setOpen(true);this.addEventListener("keydown",this._g4);};QxTree.extend(QxTreeFolder,"QxTree");QxTree.addProperty({name:"activeElement"});QxTree.addProperty({name:"useDoubleClick",type:Boolean,defaultValue:false,getAlias:"useDoubleClick"});QxTree.addProperty({name:"useHoverEffects",type:Boolean,defaultValue:true,getAlias:"useHoverEffects"});QxTree.addProperty({name:"useTreeLines",type:Boolean,defaultValue:true,getAlias:"useTreeLines"});QxTree.isTreeFolder=function(vObject){return vObject&&vObject instanceof QxTreeFolder&&!(vObject instanceof QxTree);};QxTree.isOpenTreeFolder=function(vObject){return vObject instanceof QxTreeFolder&&vObject.getOpen()&&vObject.getChildrenLength()>0;};proto._modifyParent=function(_b1,_b2,_b3,_b4){return QxWidget.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);};proto._modifyElement=function(_b1,_b2,_b3,_b4){QxTreeFolder.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);this._indentCell.style.display=this._navigationCell.style.display="none";this._renderImplLabel(this.getLabel());this._renderImplIcon();return true;};proto._modifyActiveElement=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setActive(false,_b4);};if(_b1){_b1.setActive(true,_b4);};return true;};proto._modifyUseTreeLines=function(_b1,_b2,_b3,_b4){if(this.isCreated()){this._updateTreeLines();};return true;};proto._shouldBecomeCreated=function(){return true;};proto._g4=function(e){e.preventDefault();var aE=this.getActiveElement();switch(e.getKeyCode()){case QxKeyEvent.keys.left:if(QxTree.isTreeFolder(aE)){if(!aE.getOpen()){var vParent=aE.getParent();if(vParent instanceof QxTreeFolder){if(!(vParent instanceof QxTree)){vParent.setOpen(false);};this.setActiveElement(vParent);};}else {return aE.setOpen(false);};}else if(aE instanceof QxTreeFile){var vParent=aE.getParent();if(vParent instanceof QxTreeFolder){if(!(vParent instanceof QxTree)){vParent.setOpen(false);};this.setActiveElement(vParent);};};break;case QxKeyEvent.keys.right:if(QxTree.isTreeFolder(aE)){return aE.setOpen(true);};break;case QxKeyEvent.keys.enter:if(QxTree.isTreeFolder(aE)){return aE.setOpen(!aE.getOpen());};break;case QxKeyEvent.keys.up:if(aE){if(aE.isFirstChild()){if(aE.getParent()instanceof QxTreeFolder){this.setActiveElement(aE.getParent());}else {this.setActiveElement(this.getLastTreeChild());};}else {var vPrev=aE.getPreviousSibling();while(vPrev instanceof QxTreeElement){if(QxTree.isOpenTreeFolder(vPrev)){vPrev=vPrev.getLastChild();}else {break;};};this.setActiveElement(vPrev);};}else {var vLast=this.getLastTreeChild();if(vLast){this.setActiveElement(vLast);};};break;case QxKeyEvent.keys.down:if(aE){if(QxTree.isOpenTreeFolder(aE)){this.setActiveElement(aE.getFirstChild());}else if(aE.isLastChild()){var vCurrent=aE;while(vCurrent.isLastChild()){vCurrent=vCurrent.getParent();if(!vCurrent instanceof QxTreeElement){return this.setActiveElement(this.getFirstTreeChild());};};if(vCurrent instanceof QxTreeElement&&vCurrent.getNextSibling()&&vCurrent.getNextSibling()instanceof QxTreeElement){return this.setActiveElement(vCurrent.getNextSibling());};this.setActiveElement(this.getFirstTreeChild());}else {this.setActiveElement(aE.getNextSibling());};}else {var vFirst=this.getFirstTreeChild();if(vFirst){this.setActiveElement(vFirst);};};break;};(new QxApplication).setActiveWidget(this);};proto.getLastTreeChild=function(){var vLast=this;while(vLast instanceof QxTreeElement){if(!(vLast instanceof QxTreeFolder)||!vLast.getOpen()){return vLast;};vLast=vLast.getLastChild();};};proto.getFirstTreeChild=function(){return this;};proto._renderImplNavigation=function(){return true;};proto._renderImplIndent=function(){return true;};proto._visualizeFocus=function(){return true;};proto._visualizeBlur=function(){return true;};function QxRangeManager(){QxTarget.call(this);};QxRangeManager.extend(QxManager,"QxRangeManager");QxRangeManager.addProperty({name:"value",type:Number,defaultValue:0});QxRangeManager.addProperty({name:"min",type:Number,defaultValue:0});QxRangeManager.addProperty({name:"max",type:Number,defaultValue:100});proto._checkValue=function(_b1){return Math.max(this.getMin(),Math.min(this.getMax(),Math.floor(_b1)));};proto._modifyValue=function(_b1,_b2,_b3,_b4){if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};proto._checkMax=function(_b1){return Math.floor(_b1);};proto._modifyMax=function(_b1,_b2,_b3,_b4){this.setValue(Math.min(this.getValue(),_b1));if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};proto._checkMin=function(_b1){return Math.floor(_b1);};proto._modifyMin=function(_b1,_b2,_b3,_b4){this.setValue(Math.max(this.getValue(),_b1));if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};return true;};function QxSpinner(min,value,max){QxWidget.call(this);this.setWidth(60);this.setHeight(22);this.setBorder(QxBorder.presets.inset);this.setTabIndex(-1);this._manager=new QxRangeManager();this._textfield=new QxTextField();this._textfield.set({left:0,right:16,bottom:0,top:0,textAlign:"right",text:this._manager.getValue()});this.add(this._textfield);this._upbutton=new QxWidget();this._upbutton.set({top:0,bottom:"50%",width:16,right:0,border:QxBorder.presets.outset,canSelect:false});this._upbuttonimage = new QxImage("widgets/arrows/up_small.gif", 5, 3);this._upbuttonimage.set({top:1,left:3,anonymous:true});this._upbutton.add(this._upbuttonimage);this.add(this._upbutton);this._downbutton=new QxWidget();this._downbutton.set({top:"50%",bottom:0,width:16,right:0,border:QxBorder.presets.outset,canSelect:false});this._downbuttonimage = new QxImage("widgets/arrows/down_small.gif", 5, 3);this._downbuttonimage.set({top:1,left:3,anonymous:true});this._downbutton.add(this._downbuttonimage);this.add(this._downbutton);this._timer=new QxTimer(this.getInterval());this.addEventListener("keypress",this._g6,this);this.addEventListener("keydown",this._g4,this);this.addEventListener("keyup",this._g5,this);this.addEventListener("mousewheel",this._onmousewheel,this);this._textfield.addEventListener("input",this._oninput,this);this._textfield.addEventListener("blur",this._onblur,this);this._upbutton.addEventListener("mousedown",this._g1,this);this._downbutton.addEventListener("mousedown",this._g1,this);this._manager.addEventListener("change",this._onchange,this);this._timer.addEventListener("interval",this._i7,this);if(isValidNumber(min)){this.setMin(min);};if(isValidNumber(max)){this.setMax(max);};if(isValidNumber(value)){this.setValue(value);};};QxSpinner.extend(QxWidget,"QxSpinner");QxSpinner.addProperty({name:"incrementAmount",type:Number,defaultValue:1});QxSpinner.addProperty({name:"wheelIncrementAmount",type:Number,defaultValue:1});QxSpinner.addProperty({name:"pageIncrementAmount",type:Number,defaultValue:10});QxSpinner.addProperty({name:"interval",type:Number,defaultValue:100});QxSpinner.addProperty({name:"firstInterval",type:Number,defaultValue:500});QxSpinner.addProperty({name:"minTimer",type:Number,defaultValue:20});QxSpinner.addProperty({name:"timerDecrease",type:Number,defaultValue:2});QxSpinner.addProperty({name:"amountGrowth",type:Number,defaultValue:1.01});proto.getPreferredHeight=function(){return 22;};proto.getPreferredWidth=function(){return 60;};proto._g6=function(e){var vCode=e.getKeyCode();if(vCode==QxKeyEvent.keys.enter&&!e.getAltKey()){this._checkValue(true,false,false);this._textfield.selectAll();}else {switch(vCode){case QxKeyEvent.keys.up:case QxKeyEvent.keys.down:case QxKeyEvent.keys.left:case QxKeyEvent.keys.right:case QxKeyEvent.keys.shift:case QxKeyEvent.keys.ctrl:case QxKeyEvent.keys.alt:case QxKeyEvent.keys.esc:case QxKeyEvent.keys.del:case QxKeyEvent.keys.backspace:case QxKeyEvent.keys.insert:case QxKeyEvent.keys.home:case QxKeyEvent.keys.end:case QxKeyEvent.keys.pageup:case QxKeyEvent.keys.pagedown:case QxKeyEvent.keys.numlock:case QxKeyEvent.keys.tab:break;default:if(vCode>=48&&vCode<=57){return;};e.preventDefault();};};};proto._g4=function(e){var vCode=e.getKeyCode();if(this._intervalIncrease==null){switch(vCode){case QxKeyEvent.keys.up:case QxKeyEvent.keys.down:this._intervalIncrease=vCode==QxKeyEvent.keys.up;this._intervalMode="single";this._resetIncrements();this._checkValue(true,false,false);this._increment();this._timer.startWith(this.getFirstInterval());break;case QxKeyEvent.keys.pageup:case QxKeyEvent.keys.pagedown:this._intervalIncrease=vCode==QxKeyEvent.keys.pageup;this._intervalMode="page";this._resetIncrements();this._checkValue(true,false,false);this._pageIncrement();this._timer.startWith(this.getFirstInterval());break;};};};proto._g5=function(e){if(this._intervalIncrease!=null){switch(e.getKeyCode()){case QxKeyEvent.keys.up:case QxKeyEvent.keys.down:case QxKeyEvent.keys.pageup:case QxKeyEvent.keys.pagedown:this._timer.stop();this._intervalIncrease=null;this._intervalMode=null;};};};proto._g1=function(e){if(e.isNotLeftButton()){return;};this._checkValue(true);var vButton=e.getCurrentTarget();vButton.setBorder(QxBorder.presets.inset);vButton.addEventListener("mouseup",this._g2,this);vButton.addEventListener("mouseout",this._g2,this);this._intervalIncrease=vButton==this._upbutton;this._resetIncrements();this._increment();this._textfield.selectAll();this._timer.setInterval(this.getFirstInterval());this._timer.start();};proto._g2=function(e){var vButton=e.getCurrentTarget();vButton.setBorder(QxBorder.presets.outset);vButton.removeEventListener("mouseup",this._g2,this);vButton.removeEventListener("mouseout",this._g2,this);this._textfield.selectAll();this._textfield.setFocused(true);this._timer.stop();this._intervalIncrease=null;};proto._onmousewheel=function(e){this._manager.setValue(this._manager.getValue()+this.getWheelIncrementAmount()*e.getWheelDelta());this._textfield.selectAll();};proto._oninput=function(e){this._checkValue(true,true);};proto._onchange=function(e){var vValue=this._manager.getValue();this._textfield.setText(vValue);if(vValue==this.getMin()){this._downbutton.setBorder(QxBorder.presets.outset);this._downbutton.setEnabled(false);this._downbuttonimage.setEnabled(false);this._timer.stop();}else {this._downbutton.setEnabled(true);this._downbuttonimage.setEnabled(true);};if(vValue==this.getMax()){this._upbutton.setBorder(QxBorder.presets.outset);this._upbutton.setEnabled(false);this._upbuttonimage.setEnabled(false);this._timer.stop();}else {this._upbutton.setEnabled(true);this._upbuttonimage.setEnabled(true);};if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};};proto._onblur=function(e){this._checkValue(false);};proto.setValue=function(nValue){this._manager.setValue(nValue);};proto.getValue=function(){this._checkValue(true);return this._manager.getValue();};proto.resetValue=function(){return this._manager.resetValue();};proto.setMax=function(vMax){return this._manager.setMax(vMax);};proto.getMax=function(){return this._manager.getMax();};proto.setMin=function(vMin){return this._manager.setMin(vMin);};proto.getMin=function(){return this._manager.getMin();};proto._intervalIncrease=null;proto._i7=function(e){this._timer.stop();this.setInterval(Math.max(this.getMinTimer(),this.getInterval()-this.getTimerDecrease()));if(this._intervalMode=="page"){this._pageIncrement();}else {if(this.getInterval()==this.getMinTimer()){this.setIncrementAmount(this.getAmountGrowth()*this.getIncrementAmount());};this._increment();};switch(this._intervalIncrease){case true:if(this.getValue()==this.getMax()){return;};case false:if(this.getValue()==this.getMin()){return;};};this._timer.restartWith(this.getInterval());};proto._checkValue=function(acceptEmpty,acceptEdit){var el=this._textfield.getElement();if(!el){return;};if(el.value==""){if(!acceptEmpty){el.value=this.resetValue();this._textfield.selectAll();return;};}else {var val=el.value;if(val.length>1){while(val.charAt(0)=="0"){val=val.substr(1,val.length);};var f1=parseInt(val)||0;if(f1!=el.value){el.value=f1;return;};};if(val=="-"&&acceptEmpty&&this.getMin()<0){if(el.value!=val){el.value=val;};return;};val=parseInt(val);var doFix=true;var fixedVal=this._manager._checkValue(val);if(isNaN(fixedVal)){fixedVal=this._manager.getValue();};if(acceptEmpty&&val==""){doFix=false;}else if(!isNaN(val)){if(acceptEdit){if(val>fixedVal&&!(val>0&&fixedVal<=0)&&String(val).length<String(fixedVal).length){doFix=false;}else if(val<fixedVal&&!(val<0&&fixedVal>=0)&&String(val).length<String(fixedVal).length){doFix=false;};};};if(doFix&&el.value!=fixedVal){el.value=fixedVal;};if(!acceptEdit){this._manager.setValue(fixedVal);};};};proto._increment=function(){this._manager.setValue(this._manager.getValue()+((this._intervalIncrease?1:-1)*this.getIncrementAmount()));};proto._pageIncrement=function(){this._manager.setValue(this._manager.getValue()+((this._intervalIncrease?1:-1)*this.getPageIncrementAmount()));};proto._resetIncrements=function(){this.resetIncrementAmount();this.resetInterval();};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("keypress",this._g6,this);this.removeEventListener("keydown",this._g4,this);this.removeEventListener("keyup",this._g5,this);if(this._textfield){this._textfield.removeEventListener("blur",this._onblur,this);this._textfield.dispose();this._textfield=null;};if(this._upbutton){this._upbutton.removeEventListener("mousedown",this._g1,this);this._upbutton.dispose();this._upbutton=null;};if(this._downbutton){this._downbutton.removeEventListener("mousedown",this._g1,this);this._downbutton.dispose();this._downbutton=null;};if(this._timer){this._timer.removeEventListener("interval",this._i7,this);this._timer.stop();this._timer.dispose();this._timer=null;};if(this._manager){this._manager.removeEventListener("change",this._onchange,this);this._manager.dispose();this._manager=null;};return QxWidget.prototype.dispose.call(this);};function QxCommand(vShortcut,vKeyCode,vManager){QxTarget.call(this);if(isValid(vShortcut)){this.setShortcut(vShortcut);};if(isValid(vKeyCode)){this.setKeyCode(vKeyCode);};this.setManager(isValid(vManager)?vManager:window.application.getClientWindow().getEventManager());};QxCommand.extend(QxTarget,"QxCommand");QxCommand.addProperty({name:"checked",type:Boolean,defaultValue:false});QxCommand.addProperty({name:"shortcut",type:String});QxCommand.addProperty({name:"keyCode",type:Number});QxCommand.addProperty({name:"manager",type:Object});proto.execute=function(vTarget){this.dispatchEvent(new QxDataEvent("execute",vTarget));return false;};proto._shortcutParts={};proto._modifyShortcut=function(_b1,_b2,_b3,_b4){if(_b1){var a = _b1.toLowerCase().split(/[-+\s]+/);var al=a.length;this._shortcutParts={};for(var i=0;i<al;i++){this._shortcutParts[a[i]]=true;};}else {this._shortcutParts=null;};return true;};proto._modifyManager=function(_b1,_b2,_b3,_b4){if(_b2){_b2.removeCommand(this);};if(_b1){_b1.addCommand(this);};return true;};proto._matchesKeyEvent=function(e){if(!(isValid(this.getShortcut())||isValid(this.getKeyCode()))){return false;};if((this._shortcutParts.shift&&!e.getShiftKey())||(this._shortcutParts.ctrl&&!e.getCtrlKey())||(this._shortcutParts.alt&&!e.getAltKey())){return false;};var vEventCode=e.getKeyCode();var vSelfCode=this.getKeyCode();switch(vSelfCode){case null:break;case vEventCode:return true;};var c=String.fromCharCode(vEventCode).toLowerCase();if(this._shortcutParts[c]){return true;};if(vSelfCode==null){for(var vPart in this._shortcutParts){switch(vPart){case "ctrl":case "shift":case "alt":case "control":break;default:if(vEventCode==QxKeyEvent.keys[vPart]){return true;};};};};return false;};proto.toString=function(){var vShortcut=this.getShortcut();var vKeyCode=this.getKeyCode();var vString="";if(isValidString(vShortcut)){vString=vShortcut;if(isValidNumber(vKeyCode)){var vTemp=QxKeyEvent.codes[vKeyCode];vString+="+"+(vTemp?vTemp.toFirstUp():String(vKeyCode));};}else if(isValidNumber(vKeyCode)){var vTemp=QxKeyEvent.codes[vKeyCode];vString=vTemp?vTemp.toFirstUp():String(vKeyCode);};return vString;};proto.dispose=function(){if(this.getDisposed()){return;};this._ownerWindow=null;return QxTarget.prototype.dispose.call(this);};function QxWindowManager(){if(QxWindowManager._instance){return QxWindowManager._instance;};QxManager.call(this);QxWindowManager._instance=this;};QxWindowManager.extend(QxManager,"QxWindowManager");QxWindowManager.addProperty({name:"activeWindow",type:Object});proto.update=function(oTarget){var m;for(var vHash in this._objects){m=this._objects[vHash];if(!m.getAutoHide()){continue;};m.setVisible(false);};};proto._modifyActiveWindow=function(_b1,_b2,_b3,_b4){(new QxPopupManager).update();if(_b1){_b1.setActive(true,_b4);};if(_b2){_b2.setActive(false,_b4);};this.sort();if(_b2&&_b2.getModal()){_b2.getTopLevelWidget().release(_b2);};if(_b1&&_b1.getModal()){_b1.getTopLevelWidget().block(_b1);};return true;};proto.compareWindows=function(w1,w2){switch((new QxWindowManager).getActiveWindow()){case w1:return 1;case w2:return-1;};return w1.getZIndex()-w2.getZIndex();};proto.sort=function(oObject){var a=[];for(var i in this._objects){a.push(this._objects[i]);};a.sort(this.compareWindows);var minz=QxWindow.prototype._minZindex;for(var l=a.length,i=0;i<l;i++){a[i].setZIndex(minz+i);};};proto.add=function(oObject){QxManager.prototype.add.call(this,oObject);this.setActiveWindow(oObject);};proto.remove=function(oObject){QxManager.prototype.remove.call(this,oObject);if(this.getActiveWindow()==oObject){var a=[];for(var i in this._objects){a.push(this._objects[i]);};var l=a.length;if(l==0){oObject.getTopLevelWidget().release(oObject);}else if(l==1){this.setActiveWindow(a[0]);}else if(l>1){a.sort(this.compareWindows);this.setActiveWindow(a[l-1]);};};};function QxWindow(vCaption,vIcon){QxPopup.call(this);this.setBorder(QxBorder.presets.outset);this.setMinWidth(200);this.setMinHeight(100);this.addEventListener("mousedown",this._onwindowmousedown,this);this.addEventListener("mouseup",this._onwindowmouseup,this);this.addEventListener("mousemove",this._onwindowmousemove,this);var c=this._frame=new QxWidget();c.set({timerCreate:false,border:QxBorder.presets.shadow});c=this._captionbar=new QxWidget;c.set({cssClassName:"QxWindowCaptionBar",top:0,left:0,right:0,height:18});c.addEventListener("mousedown",this._oncaptionmousedown,this);c.addEventListener("mouseup",this._oncaptionmouseup,this);c.addEventListener("mousemove",this._oncaptionmousemove,this);this.addToWindow(c);c=this._pane=new QxWidget;c.set({cssClassName:"QxWindowPane",top:18,bottom:0,left:0,right:0});this.addToWindow(c);if(isValidString(vIcon)){this.setIcon(vIcon);};if(isValidString(vCaption)){this.setCaption(vCaption);};};QxWindow.extend(QxPopup,"QxWindow");QxWindow.addProperty({name:"active",type:Boolean,defaultValue:false});QxWindow.addProperty({name:"modal",type:Boolean,defaultValue:false});QxWindow.addProperty({name:"opener",type:Object});QxWindow.addProperty({name:"caption",type:String});QxWindow.addProperty({name:"status",type:String,defaultValue:"Ready"});QxWindow.addProperty({name:"showClose",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showMaximize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showMinimize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showStatusbar",type:Boolean,defaultValue:false});QxWindow.addProperty({name:"allowClose",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"allowMaximize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"allowMinimize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showCaption",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showIcon",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"resizeable",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"moveable",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"resizeMethod",type:String,defaultValue:"frame"});QxWindow.addProperty({name:"moveMethod",type:String,defaultValue:"opaque"});QxWindow.addProperty({name:"usePreferredWidthAsMin",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"usePreferredHeightAsMin",type:Boolean,defaultValue:true});proto._windowManager=new QxWindowManager();proto.getPane=function(){return this._pane;};proto.getCaptionbar=function(){return this._captionbar;};proto.getStatusbar=function(){return this._statusbar;};proto.addToWindow=proto.add;proto.addToPane=function(){this._pane.add.apply(this._pane,arguments);};proto.addToCaptionbar=function(){this._captionbar.add.apply(this._captionbar,arguments);};proto.add=proto.addToPane;proto._beforeShow=function(_b4){QxAtom.prototype._beforeShow.call(this,_b4);(new QxPopupManager).update();this._windowManager.add(this);this._makeActive();this._layoutCommands();};proto._beforeHide=function(_b4){QxAtom.prototype._beforeHide.call(this,_b4);this._windowManager.remove(this);this._makeInactive();};proto.bringToFront=proto.sendToBack=function(){throw new Error("Warning:bringToFront()and sendToBack()are not supported by QxWindow!");};proto._d1=function(){return true;};proto._d2=function(){return true;};proto._d5Width=function(){return this._pane.getAnyWidth();};proto._d5Height=function(){var h=this.getShowStatusbar()&&this._statusbar?this._statusbar.getAnyHeight():0;h+=this._pane.getAnyHeight()+this._captionbar.getAnyHeight();return h;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){this._addCssClassName("QxAtomBase");if(this._c1&&!this._icon){this._e3Icon();};if(this._displayCaption&&!this._caption){this._e3Caption();};if(this.getShowMinimize()&&!this._minimizeButton&&!this.getModal()){this._e3MinimizeButton();};if(this.getShowMaximize()&&!this.getModal()){if(!this._restoreButton){this._e3RestoreButton();};if(!this._maximizeButton){this._e3MaximizeButton();};};if(this.getShowStatusbar()){this._e3Statusbar();};if(this.getShowClose()&&!this._closeButton){this._e3CloseButton();};};return QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);};proto._setChildrenDependWidth=QxWidget.prototype._setChildrenDependWidth;proto._setChildrenDependHeight=QxWidget.prototype._setChildrenDependHeight;proto._childOuterWidthChanged=QxWidget.prototype._childOuterWidthChanged;proto._childOuterHeightChanged=QxWidget.prototype._childOuterHeightChanged;proto._d5Helper=QxWidget.prototype._d5Helper;proto._c1=false;proto._displayCaption=false;proto._modifyActive=function(_b1,_b2,_b3,_b4){if(_b1){this.addCssClassNameDetail("active");this._windowManager.setActiveWindow(this,_b4);}else {this.removeCssClassNameDetail("active");};return true;};proto._checkState=function(_b1,_b2,_b3,_b4){if(!this.getResizeable()&&(_b2!="minimized"||this._previousState!=_b1)){throw new Error("This state is not allowed:"+_b1+"!");};return _b1;};proto._modifyState=function(_b1,_b2,_b3,_b4){switch(_b1){case "minimized":this._minimize();break;case "maximized":this._maximize();break;default:this._restore();};this._previousState=_b2;return QxPopup.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto._modifyShowClose=function(_b1,_b2,_b3,_b4){if(_b1&&!this._closeButton){this._e3CloseButton();};this._layoutCommands();return true;};proto._modifyShowMaximize=function(_b1,_b2,_b3,_b4){if(_b1){if(!this._maximizeButton){this._e3MaximizeButton();};if(!this._restoreButton){this._e3RestoreButton();};};this._layoutCommands();return true;};proto._modifyShowMinimize=function(_b1,_b2,_b3,_b4){if(_b1&&!this._minimizeButton){this._e3MinimizeButton();};this._layoutCommands();return true;};proto._modifyResizeable=function(_b1,_b2,_b3,_b4){return this._applyAllowMaximize();};proto._modifyAllowMinimize=function(_b1,_b2,_b3,_b4){return this._applyAllowMinimize();};proto._modifyModal=function(_b1,_b2,_b3,_b4){this._applyAllowMinimize();this._applyAllowMaximize();this._layoutCommands();if(this.getActive()){this.forceModal(true);this.setVisible(false);this.forceModal(_b1);this.setVisible(true);};return true;};proto._applyAllowMinimize=function(){if(this._minimizeButton){this._minimizeButton.setEnabled(this.getAllowMinimize()&&!this.getModal());};return true;};proto._modifyAllowMaximize=function(_b1,_b2,_b3,_b4){return this._applyAllowMaximize();};proto._applyAllowMaximize=function(){var e=this.getAllowMaximize()&&this.getResizeable()&&(this.getMaxWidth()==null||this.getMaxWidth()==Infinity)&&(this.getMaxHeight()==null||this.getMaxHeight()==Infinity);if(this._maximizeButton){this._maximizeButton.setEnabled(e);};if(this._restoreButton){this._restoreButton.setEnabled(e);};return true;};proto._modifyAllowClose=function(_b1,_b2,_b3,_b4){return this._applyAllowClose();};proto._applyAllowClose=function(){if(this._closeButton){this._closeButton.setEnabled(this.getAllowClose());};return true;};proto._layoutCommands=function(){var s=0;if(this._closeButton){if(this.getShowClose()){this._closeButton.setRight(s);if(this._captionbar._wasVisible){this._closeButton.setVisible(true);};s+=this._closeButton.getWidth()+2;}else {this._closeButton.setVisible(false);};};if(this._maximizeButton&&this._restoreButton){if(this.getShowMaximize()){if(this.getState()=="maximized"){this._maximizeButton.setVisible(false);this._restoreButton.setRight(s);if(this._captionbar._wasVisible){this._restoreButton.setVisible(true);};s+=this._restoreButton.getWidth();}else {this._restoreButton.setVisible(false);this._maximizeButton.setRight(s);if(this._captionbar._wasVisible){this._maximizeButton.setVisible(true);};s+=this._maximizeButton.getWidth();};}else {this._maximizeButton.setVisible(false);this._restoreButton.setVisible(false);};};if(this._minimizeButton){if(this.getShowMinimize()){this._minimizeButton.setRight(s);if(this._captionbar._wasVisible){this._minimizeButton.setVisible(true);};}else {this._minimizeButton.setVisible(false);};};};proto._e3CloseButton=function(){var ob = this._closeButton = new QxButton(null, "widgets/window/close.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onclosebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowClose();this.addToCaptionbar(ob);};proto._e3MinimizeButton=function(){var ob = this._minimizeButton = new QxButton(null, "widgets/window/minimize.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onminimizebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowMinimize();this.addToCaptionbar(ob);};proto._e3RestoreButton=function(){var ob = this._restoreButton = new QxButton(null, "widgets/window/restore.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onrestorebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowMaximize();ob._shouldBecomeCreated=function(){return this.getParent().getParent().getState()=="maximized";};this.addToCaptionbar(ob);};proto._e3MaximizeButton=function(){var ob = this._maximizeButton = new QxButton(null, "widgets/window/maximize.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onmaximizebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowMaximize();ob._shouldBecomeCreated=function(){return this.getParent().getParent().getState()!="maximized";};this.addToCaptionbar(ob);};proto._e3Statusbar=function(){c=this._statusbar=new QxAtom;c.set({cssClassName:"QxWindowStatusBar",width:null,bottom:0,left:0,right:0,height:18,border:QxBorder.presets.thinInset,text:this.getStatus()});this.addToWindow(c);};proto._modifyStatus=function(_b1,_b2,_b3,_b4){if(this._statusbar){this._statusbar.setText(_b1,_b4);};return true;};proto._modifyShowStatusbar=function(_b1,_b2,_b3,_b4){if(_b1){this._statusbar?this.addToWindow(this._statusbar):this._e3Statusbar();this._pane.setBottom(18);}else {if(this._statusbar){this.remove(this._statusbar);};this._pane.setBottom(0);};return true;};proto._modifyCaption=function(_b1,_b2,_b3,_b4){var o=this._caption;if(this._updateUseCaption()){if(o){o.setHtml(_b1);o.setParent(this._captionbar);}else {this._e3Caption();};}else if(o){o.setParent(null);o.setHtml(_b1);};return true;};proto._updateUseCaption=function(){return this._displayCaption=this.getCaption()&&this.getShowCaption();};proto._e3Caption=function(){var o=this._caption=new QxContainer(this.getCaption());o.setTop(1);this._layoutCaption();o.setParent(this._captionbar);};proto._modifyShowCaption=function(_b1,_b2,_b3,_b4){var o=this._caption;if(this._updateUseCaption()){if(o){o.setParent(this._captionbar);}else {this._e3Caption();};}else if(o){o.setParent(null);};return true;};proto._layoutCaption=function(){if(!this._icon||!this._icon.isCreated()){return;};if(this._caption){this._caption.setLeft(this._c1?this._icon.getAnyWidth()+3:0)};};proto._modifyIcon=function(_b1,_b2,_b3,_b4){var o=this._icon;if(this._updateUseIcon()){if(o){o.setSource(_b1);o.setParent(this._captionbar);}else {this._e3Icon();};}else if(o){o.setParent(null);o.setSource(_b1);};return true;};proto._updateUseIcon=function(){return this._c1=this.getIcon()&&this.getShowIcon();};proto._e3Icon=function(){var o=this._icon=new QxImage(this.getIcon(),this.getIconWidth(),this.getIconHeight());o.setLocation(1,0);o.addEventListener("mousedown",this._oniconmousedown,this);o.addEventListener("load",this._oniconload,this);o.setParent(this._captionbar);};proto._modifyShowIcon=function(_b1,_b2,_b3,_b4){var o=this._icon;if(this._updateUseIcon()){if(o){o.setParent(this._captionbar);}else {this._e3Icon();};}else if(o){o.setParent(null);};this._layoutCaption();return true;};proto.close=function(){this.setVisible(false);};proto.open=function(vOpener){if(isValid(vOpener)){this.setOpener(vOpener);};this.setVisible(true);};proto.focus=function(){this.setActive(true);};proto.blur=function(){this.setActive(false);};proto.maximize=function(){this.setState("maximized");};proto.minimize=function(){this.setState("minimized");};proto.restore=function(){this.setState(null);};proto._previousState=null;proto._minimize=function(){this.blur();this.setVisible(false);};proto._restore=function(){if(this.getVisible()){this._omitRendering();};this.setLeft(this._previousLeft?this._previousLeft:null);this.setRight(this._previousRight?this._previousRight:null);this.setTop(this._previousTop?this._previousTop:null);this.setBottom(this._previousBottom?this._previousBottom:null);this.setWidth(this._previousWidth?this._previousWidth:null);this.setHeight(this._previousHeight?this._previousHeight:null);this.getVisible()?this._activateRendering():this.setVisible(true);this._layoutCommands();this.focus();};proto._maximize=function(){if(this.getVisible()){this._omitRendering();};this._previousLeft=this.getLeft();this._previousWidth=this.getWidth();this._previousRight=this.getRight();this._previousTop=this.getTop();this._previousHeight=this.getHeight();this._previousBottom=this.getBottom();this.setWidth(null);this.setLeft(0);this.setRight(0);this.setHeight(null);this.setTop(0);this.setBottom(0);this.getVisible()?this._activateRendering():this.setVisible(true);this._layoutCommands();this.focus();};proto._onwindowmousedown=function(e){this.focus();if(this._resizeMode){this.setCapture(true);this.getTopLevelWidget().setGlobalCursor(this.getCursor());var pa=this.getParent();var l=pa.getComputedPageAreaLeft();var t=pa.getComputedPageAreaTop();var r=pa.getComputedPageAreaRight();var b=pa.getComputedPageAreaBottom();switch(this.getResizeMethod()){case "translucent":this.setOpacity(0.5);break;case "frame":var f=this._frame;f._d3Horizontal(this.getComputedPageBoxLeft()-l);f._d3Vertical(this.getComputedPageBoxTop()-t);f._applySizeHorizontal(this.getComputedBoxWidth());f._applySizeVertical(this.getComputedBoxHeight());f.setZIndex(this.getZIndex()+1);f.setParent(this.getParent());break;};var s=this._resizeSession={};switch(this._resizeMode){case "nw":case "sw":case "w":s.boxWidth=this.getComputedBoxWidth();s.boxRight=this.getComputedPageBoxRight();case "ne":case "se":case "e":s.boxLeft=this.getComputedPageBoxLeft();s.parentAreaOffsetLeft=l;s.parentAreaOffsetRight=r;s.minWidth=this.getUsePreferredWidthAsMin()?Math.max(this.getMinWidth(),this.getPreferredWidth()):this.getMinWidth();s.maxWidth=this.getMaxWidth();};switch(this._resizeMode){case "nw":case "ne":case "n":s.boxHeight=this.getComputedBoxHeight();s.boxBottom=this.getComputedPageBoxBottom();case "sw":case "se":case "s":s.boxTop=this.getComputedPageBoxTop();s.parentAreaOffsetTop=t;s.parentAreaOffsetBottom=b;s.minHeight=this.getUsePreferredHeightAsMin()?Math.max(this.getMinHeight(),this.getPreferredHeight()):this.getMinHeight();s.maxHeight=this.getMaxHeight();};}else {delete this._resizeSession;};};proto._onwindowmouseup=function(e){var s=this._resizeSession;if(s){this.setCapture(false);this.getTopLevelWidget().setGlobalCursor(null);switch(this.getResizeMethod()){case "frame":var o=this._frame;if(!(o&&o.getParent())){break;};case "lazyopaque":if(isValidNumber(s.lastLeft)){this.setLeft(s.lastLeft);};if(isValidNumber(s.lastTop)){this.setTop(s.lastTop);};if(isValidNumber(s.lastWidth)){this.setWidth(s.lastWidth);};if(isValidNumber(s.lastHeight)){this.setHeight(s.lastHeight);};if(this.getResizeMethod()=="frame"){this._frame.setParent(null);};break;case "translucent":this.setOpacity(null);break;};delete this._resizeMode;delete this._resizeSession;};};proto._near=function(p,e){return e>(p-5)&&e<(p+5);};proto._onwindowmousemove=function(e){if(!this.getResizeable()||this.getState()!=null){return;};var s=this._resizeSession;if(s){switch(this._resizeMode){case "nw":case "sw":case "w":s.lastWidth=(s.boxWidth+s.boxLeft-Math.max(e.getPageX(),s.parentAreaOffsetLeft)).limit(s.minWidth,s.maxWidth);s.lastLeft=s.boxRight-s.lastWidth-s.parentAreaOffsetLeft;break;case "ne":case "se":case "e":s.lastWidth=(Math.min(e.getPageX(),s.parentAreaOffsetRight)-s.boxLeft).limit(s.minWidth,s.maxWidth);break;};switch(this._resizeMode){case "nw":case "ne":case "n":s.lastHeight=(s.boxHeight+s.boxTop-Math.max(e.getPageY(),s.parentAreaOffsetTop)).limit(s.minHeight,s.maxHeight);s.lastTop=s.boxBottom-s.lastHeight-s.parentAreaOffsetTop;break;case "sw":case "se":case "s":s.lastHeight=(Math.min(e.getPageY(),s.parentAreaOffsetBottom)-s.boxTop).limit(s.minHeight,s.maxHeight);break;};switch(this.getResizeMethod()){case "opaque":case "translucent":switch(this._resizeMode){case "nw":case "sw":case "w":this.setLeft(s.lastLeft);case "ne":case "se":case "e":this.setWidth(s.lastWidth);};switch(this._resizeMode){case "nw":case "ne":case "n":this.setTop(s.lastTop);case "sw":case "se":case "s":this.setHeight(s.lastHeight);};break;default:var o=this.getResizeMethod()=="frame"?this._frame:this;switch(this._resizeMode){case "nw":case "sw":case "w":o._d3Horizontal(s.lastLeft);case "ne":case "se":case "e":o._applySizeHorizontal(s.lastWidth);};switch(this._resizeMode){case "nw":case "ne":case "n":o._d3Vertical(s.lastTop);case "sw":case "se":case "s":o._applySizeVertical(s.lastHeight);};};}else {var resizeMode="";if(this._near(this.getComputedPageBoxTop(),e.getPageY())){resizeMode="n";}else if(this._near(this.getComputedPageBoxBottom(),e.getPageY())){resizeMode="s";};if(this._near(this.getComputedPageBoxLeft(),e.getPageX())){resizeMode+="w";}else if(this._near(this.getComputedPageBoxRight(),e.getPageX())){resizeMode+="e";};if(resizeMode!=""){this._resizeMode=resizeMode;this.setCursor(resizeMode+"-resize");}else {delete this._resizeMode;this.setCursor(null);};};};proto._oniconmousedown=function(e){e.stopPropagation();};proto._onbuttonmousedown=function(e){e.stopPropagation();};proto._oniconload=function(e){this._layoutCaption();};proto._oncaptionmousedown=function(e){if(e.isNotLeftButton()||!this.getMoveable()||this.getState()!=null){return;};this._captionbar.setCapture(true);var pa=this.getParent();var l=pa.getComputedPageAreaLeft();var t=pa.getComputedPageAreaTop();var r=pa.getComputedPageAreaRight();var b=pa.getComputedPageAreaBottom();this._dragSession= {offsetX:e.getPageX()-this.getComputedPageBoxLeft()+l,offsetY:e.getPageY()-this.getComputedPageBoxTop()+t,parentAvailableAreaLeft:l+5,parentAvailableAreaTop:t+5,parentAvailableAreaRight:r-5,parentAvailableAreaBottom:b-5 };switch(this.getMoveMethod()){case "translucent":this.setOpacity(0.5);break;case "frame":var f=this._frame;f._d3Horizontal(this.getComputedPageBoxLeft()-l);f._d3Vertical(this.getComputedPageBoxTop()-t);f._applySizeHorizontal(this.getComputedBoxWidth());f._applySizeVertical(this.getComputedBoxHeight());f.setZIndex(this.getZIndex()+1);f.setParent(this.getParent());break;};};proto._oncaptionmouseup=function(e){var s=this._dragSession;if(!s){return;};this._captionbar.setCapture(false);if(isValidNumber(s.lastX)){this.setLeft(s.lastX);};if(isValidNumber(s.lastY)){this.setTop(s.lastY);};switch(this.getMoveMethod()){case "translucent":this.setOpacity(null);break;case "frame":this._frame.setParent(null);break;};delete this._dragSession;};proto._oncaptionmousemove=function(e){var s=this._dragSession;if(!s||!this._captionbar.getCapture()){return;};if(!e.getPageX().inrange(s.parentAvailableAreaLeft,s.parentAvailableAreaRight)||!e.getPageY().inrange(s.parentAvailableAreaTop,s.parentAvailableAreaBottom)){return;};var o=this.getMoveMethod()=="frame"?this._frame:this;o._d3Horizontal(s.lastX=e.getPageX()-s.offsetX);o._d3Vertical(s.lastY=e.getPageY()-s.offsetY);};proto._onminimizebuttonclick=function(e){this.minimize();e.stopPropagation();};proto._onrestorebuttonclick=function(e){this.restore();e.stopPropagation();};proto._onmaximizebuttonclick=function(e){this.maximize();e.stopPropagation();};proto._onclosebuttonclick=function(e){this.close();e.stopPropagation();};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mousedown",this._onwindowmousedown,this);this.removeEventListener("mouseup",this._onwindowmouseup,this);this.removeEventListener("mousemove",this._onwindowmousemove,this);var w=this._caption;if(w){w.dispose();this._caption=null;};w=this._icon;if(w){w.removeEventListener("mousedown",this._oniconmousedown,this);w.dispose();this._icon=null;};w=this._closeButton;if(w){w.removeEventListener("click",this._onclosebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._closeButton=null;};w=this._restoreButton;if(w){w.removeEventListener("click",this._onrestorebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._restoreButton=null;};w=this._maximizeButton;if(w){w.removeEventListener("click",this._onmaximizebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._maximizeButton=null;};w=this._minimizeButton;if(w){w.removeEventListener("click",this._onminimizebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._minimizeButton=null;};w=this._captionbar;if(w){w.removeEventListener("mousedown",this._oncaptionmousedown,this);w.removeEventListener("mouseup",this._oncaptionmouseup,this);w.removeEventListener("mousemove",this._oncaptionmousemove,this);w.dispose();this._captionbar=null;};w=this._pane;if(w){w.dispose();this._pane=null;};w=this._statusbar;if(w){w.dispose();this._statusbar=null };};function QxColorPresetPopup(vTemplateColors,vHistoryColors,vColorSelector){QxPopup.call(this);var vField,vFieldSet;var vBase=QxColorPresetPopup.baseColors;var vLength=vBase.length;var vInnerWidth=(this._fieldWidth*vLength)+(this._fieldSpace*(vLength-1));var vFullWidth=vInnerWidth+(2*(this._padding+1));var vPreviewWidth=Math.round((vInnerWidth/2)-2);this.setWidth(230);this.setHeight(260);this.setBackgroundColor("ThreedFace");this.setBorder(QxBorder.presets.outset);this._baseColors=[];this._templateColors=[];this._historyColors=[];var vTop=this._padding;var o = this._auto = new QxAtom(QxColorPresetPopup.textAuto, "icons/16/iconthemes.png");o.setBorder(QxBorder.presets.outset);o.setPadding(2,4);o.setTop(vTop);o.setLeft(this._padding);o.setWidth(null);o.setRight(this._padding);o.setParent(this);o.addEventListener("mousedown",this._onautoclick,this);vTop+=30;vFieldSet=new QxFieldSet(QxColorPresetPopup.textBaseColors);vFieldSet.setTop(vTop);vFieldSet.setLeft(this._padding);vFieldSet.setRight(this._padding);vFieldSet.setMinHeight(45);for(var i=0;i<vLength;i++){vField=new QxWidget;vField.setBackgroundColor(vBase[i]);vField.setWidth(this._fieldWidth);vField.setHeight(this._fieldHeight);vField.setLeft(i*(this._fieldWidth+this._fieldSpace));vField.setTop(0);vField.setBorder(QxBorder.presets.inset);vField.addEventListener("mousedown",this._oncolorclick,this);vField.addEventListener("mouseover",this._oncolorover,this);vField.addEventListener("mouseout",this._oncolorout,this);vField.setParent(vFieldSet);this._baseColors.push(vField);};this.add(vFieldSet);vTop+=this._fieldHeight+this._fieldSpace+35;vFieldSet=new QxFieldSet(QxColorPresetPopup.textTemplateColors);vFieldSet.setTop(vTop);vFieldSet.setLeft(this._padding);vFieldSet.setRight(this._padding);vFieldSet.setMinHeight(45);for(var i=0;i<vLength;i++){vField=new QxWidget;if(vTemplateColors[i]){vField.setBackgroundColor(vTemplateColors[i]);};vField.setWidth(this._fieldWidth);vField.setHeight(this._fieldHeight);vField.setLeft(i*(this._fieldWidth+this._fieldSpace));vField.setTop(0);vField.setBorder(QxBorder.presets.inset);vField.addEventListener("mousedown",this._oncolorclick,this);vField.addEventListener("mouseover",this._oncolorover,this);vField.addEventListener("mouseout",this._oncolorout,this);vField.setParent(vFieldSet);this._templateColors.push(vField);};this.add(vFieldSet);vTop+=this._fieldHeight+this._fieldSpace+35;vFieldSet=new QxFieldSet(QxColorPresetPopup.textHistoryColors);vFieldSet.setTop(vTop);vFieldSet.setLeft(this._padding);vFieldSet.setRight(this._padding);vFieldSet.setMinHeight(45);for(var i=0;i<vLength;i++){vField=new QxWidget;if(vHistoryColors[i]){vField.setBackgroundColor(vHistoryColors[i]);};vField.setWidth(this._fieldWidth);vField.setHeight(this._fieldHeight);vField.setLeft(i*(this._fieldWidth+this._fieldSpace));vField.setTop(0);vField.setBorder(QxBorder.presets.inset);vField.addEventListener("mousedown",this._oncolorclick,this);vField.addEventListener("mouseover",this._oncolorover,this);vField.addEventListener("mouseout",this._oncolorout,this);vField.setParent(vFieldSet);this._historyColors.push(vField);};this.add(vFieldSet);vTop+=this._fieldHeight+this._fieldSpace+45;var o=this._previewOld=new QxAtom(QxColorPresetPopup.textSavedColor);o.setHeight(25);o.setWidth(105);o.setTop(vTop);o.setLeft(this._padding);o.setBorder(QxBorder.presets.inset);o.setPadding(2,4);o.setHorizontalBlockAlign("center");o.setParent(this);var o=this._previewNew=new QxAtom(QxColorPresetPopup.textNewColor);o.setHeight(25);o.setWidth(105);o.setTop(vTop);o.setRight(this._padding);o.setBorder(QxBorder.presets.inset);o.setPadding(2,4);o.setHorizontalBlockAlign("center");o.setParent(this);vTop+=30;var o = this._vStartComplex = new QxAtom(QxColorPresetPopup.textAllColors, "icons/16/kcoloredit.png");o.setBorder(QxBorder.presets.outset);o.setPadding(2,4);o.setTop(vTop);o.setLeft(this._padding);o.setWidth(null);o.setRight(this._padding);o.setParent(this);o.addEventListener("mousedown",function(e){vColorSelector.setSavedColor(this.getCurrentColor());vColorSelector.setCurrentColor(this.getCurrentColor()?this.getCurrentColor():[127,255,255]);vColorSelector.setTop(100);vColorSelector.setLeft(100);vColorSelector.setVisible(true);},this);};QxColorPresetPopup.extend(QxPopup,"QxColorPresetPopup");QxColorPresetPopup.addProperty({name:"currentColor",type:QxColor});QxColorPresetPopup.baseColors=["black",51,102,153,204,"white","red","green","blue","yellow","cyan","magenta"];QxColorPresetPopup.textBaseColors="Basic Colors";QxColorPresetPopup.textTemplateColors="Template Colors";QxColorPresetPopup.textHistoryColors="Previous Colors";QxColorPresetPopup.textSavedColor="Current";QxColorPresetPopup.textNewColor="New";QxColorPresetPopup.textAuto="Automatic";QxColorPresetPopup.textAllColors="All Colors...";proto._fieldWidth=14;proto._fieldHeight=14;proto._fieldSpace=2;proto._padding=4;proto._onautoclick=function(e){this.setCurrentColor(null);};proto._oncolorover=function(e){this._applyNewColor(e.getTarget().getBackgroundColor());};proto._oncolorout=function(e){this._previewNew.setBackgroundColor(null);this._previewNew.setColor(null);};proto._oncolorclick=function(e){var c=e.getTarget().getBackgroundColor();if(isValidString(c)){this.setCurrentColor(c);};this._oncolorout();};proto._modifyCurrentColor=function(_b1,_b2,_b3,_b4){return this._applyOldColor(_b1);};proto._applyOldColor=function(_b1){this._previewOld.setBackgroundColor(_b1);if(isValid(_b1)){var vTemp=QxColor.read(_b1);this._previewOld.setColor(this._useWhiteColor(QxColor.RGB2HSB(vTemp[0],vTemp[1],vTemp[2]))?"white":"black");};return true;};proto._applyNewColor=function(_b1){if(isValidString(_b1)){this._previewNew.setBackgroundColor(_b1);if(isValid(_b1)){var vTemp=QxColor.read(_b1);this._previewNew.setColor(this._useWhiteColor(QxColor.RGB2HSB(vTemp[0],vTemp[1],vTemp[2]))?"white":"black");};};};proto._useWhiteColor=function(v){return v[2]<70||(v[1]>50&&(v[0].inrange(200,280)||v[0].inrange(-1,40)));};function QxColorSelector(vTemplateColors,vHistoryColors,vStandalone){this.standaloneMode=typeof vStandalone=="boolean"?vStandalone:false;this.webfixMode=vTemplateColors&&vHistoryColors;if(this.standaloneMode){QxPopup.call(this);this.add=this.addToWindow;this.setBorder(null);this.setPadding(10);this.setHeight(this.webfixMode?335:385);}else {QxWindow.call(this, "Color Selector", "icons/16/colors.png");this.setHeight(this.webfixMode?350:400);};this.classname="QxWindow";this.layoutOffset=this.webfixMode?224:196;this.setShowStatusbar(false);this.setShowMaximize(false);this.setShowMinimize(false);this.setResizeable(false);this.setUsePreferredWidthAsMin(false);this.setUsePreferredHeightAsMin(false);this.getPane().setPadding(8);this.setWidth(this.webfixMode?543:515);if(this.webfixMode){var vField;var vFieldSet;var vBase=QxColorSelector.baseColors;var vBaseLength=vBase.length;vFieldSet=new QxFieldSet(QxColorSelector.textBaseColors);vFieldSet.setTop(-6);vFieldSet.setWidth(216);vFieldSet.setHeight(45);vFieldSet.setMinHeight(45);for(var i=0;i<vBaseLength;i++){vField=new QxWidget;vField.setBackgroundColor(vBase[i]);vField.setBorder(QxBorder.presets.inset);vField.setWidth(14);vField.setHeight(14);vField.setLeft(i*16);vField.setTop(0);vField.addEventListener("click",this._onpaletteclick,this);vFieldSet.add(vField);};this.add(vFieldSet);vFieldSet=new QxFieldSet(QxColorSelector.textTemplateColors);vFieldSet.setTop(41);vFieldSet.setWidth(216);vFieldSet.setHeight(45);vFieldSet.setMinHeight(45);for(var i=0;i<vBaseLength;i++){vField=new QxWidget;vField.setBackgroundColor(vTemplateColors[i]);vField.setBorder(QxBorder.presets.inset);vField.setWidth(14);vField.setHeight(14);vField.setLeft(i*16);vField.setTop(0);vField.addEventListener("click",this._onpaletteclick,this);vFieldSet.add(vField);};this.add(vFieldSet);}else {var vField;var vArr=QxColorSelector.presets;var vArrLength=vArr.length;var vSubArr;var vSubArrLength;for(var i=0;i<vArrLength;i++){vSubArr=vArr[i];vSubArrLength=vSubArr.length;for(var j=0;j<vSubArrLength;j++){vField=new QxWidget;vField.setBorder(QxBorder.presets.inset);vField.setBackgroundColor(vSubArr[j]);vField.setWidth(20);vField.setHeight(16);vField.setLeft(j*24);vField.setTop(i*20);vField.addEventListener("click",this._onpaletteclick,this);this.add(vField);};};};var hueFrame=new QxWidget;hueFrame.setBorder(QxBorder.presets.inset);hueFrame.setLeft(this.webfixMode?228:200);hueFrame.setTop(0);hueFrame.setWidth(258);hueFrame.setHeight(258);var hue=this._hueArea=new QxImage("core/huesaturation.jpg",256,256);hueFrame.add(hue);if(this.getEnableShader()){var hueOpaque=this._hueOpaque=new QxWidget();hueOpaque.setLeft(0);hueOpaque.setTop(0);hueOpaque.setRight(0);hueOpaque.setBottom(0);hueOpaque.setBackgroundColor("black");hueFrame.add(hueOpaque);};var huePos=this._huePos=new QxImage("core/huesaturationhandle.gif",11,11);huePos.setLeft(this.layoutOffset+128);huePos.setTop(-4+128);this.add(hueFrame,huePos);hue.addEventListener("click",this._onhueareaclick);hue.addEventListener("mousedown",this._onhueareamousedown);hue.addEventListener("mouseup",this._onhueareamouseup);hue.addEventListener("mousemove",this._onhueareamousemove);hueOpaque.addEventListener("click",this._onhueareaclick,hue);hueOpaque.addEventListener("mousedown",this._onhueareamousedown,hue);hueOpaque.addEventListener("mouseup",this._onhueareamouseup,hue);hueOpaque.addEventListener("mousemove",this._onhueareamousemove,hue);huePos.addEventListener("click",this._onhueareaclick,hue);huePos.addEventListener("mousedown",this._onhueareamousedown,hue);huePos.addEventListener("mouseup",this._onhueareamouseup,hue);huePos.addEventListener("mousemove",this._onhueareamousemove,hue);var brightFrame=new QxWidget;brightFrame.setBorder(QxBorder.presets.inset);brightFrame.setLeft(this.webfixMode?498:470);brightFrame.setTop(0);brightFrame.setWidth(21);brightFrame.setHeight(258);var bright=this._brightArea=new QxImage("core/brightness.jpg",19,256);brightFrame.add(bright);var brightPos=this._brightPos=new QxImage("core/brightnesshandle.gif",35,11);brightPos.setLeft(this.layoutOffset+267);brightPos.setTop(-4);this.add(brightFrame,brightPos);bright.addEventListener("click",this._onbrightareaclick);bright.addEventListener("mousedown",this._onbrightareamousedown);bright.addEventListener("mouseup",this._onbrightareamouseup);bright.addEventListener("mousemove",this._onbrightareamousemove);brightPos.addEventListener("click",this._onbrightareaclick,bright);brightPos.addEventListener("mousedown",this._onbrightareamousedown,bright);brightPos.addEventListener("mouseup",this._onbrightareamouseup,bright);brightPos.addEventListener("mousemove",this._onbrightareamousemove,bright);var inputArea=new QxWidget;inputArea.setLeft(0);inputArea.setWidth(this.webfixMode?218:190);inputArea.setTop(this.webfixMode?95:135);inputArea.setHeight(90);this.add(inputArea);var r=this._red=new QxSpinner(0,127,255);r.setLeft(this.webfixMode?171:143);r.setWidth(45);r.setTop(0);r.addEventListener("change",this._onchange,this);var rl=new QxAtom(QxColorSelector.textRed);rl.setLeft(this.webfixMode?118:90);rl.setWidth(50);rl.setHorizontalBlockAlign("right");rl.setTop(5);var g=this._green=new QxSpinner(0,255,255);g.setLeft(this.webfixMode?171:143);g.setWidth(45);g.setTop(30);g.addEventListener("change",this._onchange,this);var gl=new QxAtom(QxColorSelector.textGreen);gl.setLeft(this.webfixMode?118:90);gl.setWidth(50);gl.setHorizontalBlockAlign("right");gl.setTop(35);var b=this._blue=new QxSpinner(0,255,255);b.setLeft(this.webfixMode?171:143);b.setWidth(45);b.setTop(60);b.addEventListener("change",this._onchange,this);var bl=new QxAtom(QxColorSelector.textBlue);bl.setLeft(this.webfixMode?118:90);bl.setWidth(50);bl.setHorizontalBlockAlign("right");bl.setTop(65);var h=this._hue=new QxSpinner(0,180,360);h.setLeft(54);h.setWidth(45);h.setTop(0);h.addEventListener("change",this._onchange,this);var hl=new QxAtom(QxColorSelector.textHue);hl.setLeft(0);hl.setWidth(50);hl.setHorizontalBlockAlign("right");hl.setTop(5);var s=this._sat=new QxSpinner(0,50,100);s.setLeft(54);s.setWidth(45);s.setTop(30);s.addEventListener("change",this._onchange,this);var sl=new QxAtom(QxColorSelector.textSaturation);sl.setLeft(0);sl.setWidth(50);sl.setHorizontalBlockAlign("right");sl.setTop(35);var l=this._lum=new QxSpinner(0,100,100);l.setLeft(54);l.setWidth(45);l.setTop(60);l.addEventListener("change",this._onchange,this);var ll=new QxAtom(QxColorSelector.textBrightness);ll.setLeft(0);ll.setWidth(50);ll.setHorizontalBlockAlign("right");ll.setTop(65);inputArea.add(r,rl,g,gl,b,bl,h,hl,s,sl,l,ll);var hexLabel=new QxAtom(QxColorSelector.textHex);hexLabel.setLeft(0);hexLabel.setWidth(this.webfixMode?158:130);hexLabel.setHorizontalBlockAlign("right");hexLabel.setTop(this.webfixMode?192:241);var hex=this._hex=new QxTextField("7FFFFF");hex.setLeft(this.webfixMode?161:133);hex.setTop(this.webfixMode?187:236);hex.setWidth(55);this.add(hexLabel,hex);hex.addEventListener("changeText",this._onchangehex,this);var savedColor=this._savedColor=new QxAtom(QxColorSelector.textSavedColor);if(this.webfixMode){savedColor.setLeft(0);savedColor.setTop(233);savedColor.setWidth(100);}else {savedColor.setTop(270);savedColor.setLeft(200);savedColor.setWidth(125);};savedColor.setHeight(25);savedColor.setHorizontalBlockAlign("center");savedColor.setBorder(QxBorder.presets.inset);var newColor=this._newColor=new QxAtom(QxColorSelector.textNewColor);if(this.webfixMode){newColor.setLeft(116);newColor.setTop(233);newColor.setWidth(100);}else {newColor.setRight(33);newColor.setTop(270);newColor.setWidth(125);};newColor.setHeight(25);newColor.setHorizontalBlockAlign("center");newColor.setBorder(QxBorder.presets.inset);newColor.setBackgroundColor("#7FFFFF");this.add(savedColor,newColor);var sep=new QxWidget;sep.setHeight(2);sep.setBorder(QxBorder.presets.thinInset);sep.setWidth("100%");sep.setLeft(0);sep.setTop(this.webfixMode?275:325);this.add(sep);var btncancel = this._btncancel = new QxButton(QxColorSelector.textCancel, "icons/16/button_cancel.png", 16, 16);var btnok = this._btnok = new QxButton(QxColorSelector.textOk, "icons/16/button_ok.png", 16, 16);btncancel.setRight(0);btncancel.setTop(this.webfixMode?285:335);btncancel.setWidth(85);btncancel.setHorizontalBlockAlign("center");btnok.setRight(95);btnok.setTop(this.webfixMode?285:335);btnok.setWidth(85);btnok.setHorizontalBlockAlign("center");this.add(btncancel,btnok);};QxColorSelector.extend(QxWindow,"QxColorSelector");QxColorSelector.addProperty({name:"currentColor",type:QxColor});QxColorSelector.addProperty({name:"enableShader",type:Boolean,defaultValue:true});QxColorSelector.presets= [ [[255,128,128],[255,255,128],[128,255,128],[0,155,128],[128,255,255],[0,128,255],[255,128,192],[255,128,255]],[[255,0,0],[255,255,0],[128,255,0],[0,255,64],[0,255,255],[0,128,192],[128,128,192],[255,0,255]],[[128,64,64],[255,128,64],[0,255,0],[0,128,128],[0,64,128],[128,128,255],[128,0,64],[255,0,128]],[[128,0,0],[255,128,0],[0,128,0],[0,128,64],[0,0,255],[0,160,160],[128,0,128],[128,0,255]],[[64,0,0],[128,64,0],[0,64,0],[0,64,64],[0,0,128],[0,0,64],[64,0,64],[64,0,128]],[[0,0,0],[128,128,0],[128,128,64],[128,128,128],[64,128,128],[192,192,192],[32,0,32],[255,255,255]] ];QxColorSelector.baseColors=["black",51,102,153,204,"white","red","green","blue","yellow","cyan","magenta"];proto._mode=null;QxColorSelector.textBaseColors="Basic Colors";QxColorSelector.textTemplateColors="Template Colors";QxColorSelector.textHistoryColors="Previous Colors";QxColorSelector.textHue="Hue:";QxColorSelector.textSaturation="Sat:";QxColorSelector.textBrightness="Lum:";QxColorSelector.textRed="Red:";QxColorSelector.textGreen="Green:";QxColorSelector.textBlue="Blue:";QxColorSelector.textOk="OK";QxColorSelector.textCancel="Cancel";QxColorSelector.textSavedColor="Current";QxColorSelector.textNewColor="New";QxColorSelector.textHex="Hex:#";proto._modifyCurrentColor=function(_b1,_b2,_b3,_b4){this._newColor.setBackgroundColor(_b1,_b4);var r=QxColor.read(_b1);if(this._mode!="rgb"){this._red.setValue(r[0]);this._green.setValue(r[1]);this._blue.setValue(r[2]);};var c=QxColor.RGB2HSB(r[0],r[1],r[2]);this._newColor.setColor(this._useWhiteColor(c)?"white":"black");if(this._mode!="hsb"&&this._mode!="lum"){if(this._mode!="brightarea"){this._hue.setValue(c[0]);this._sat.setValue(c[1]);};if(this._mode!="huearea"){this._lum.setValue(c[2]);};};if(this._mode!="huearea"&&this._mode!="brightarea"){if(this._mode!="lum"){this._huePos.setLeft(c[0]==0?this.layoutOffset:this.layoutOffset+(c[0]/3.6*2.56));this._huePos.setTop(c[1]==0?252:256-(-4+(c[1]*2.56)));};if(this._mode!="hsb"){this._brightPos.setTop(-4+256-(c[2]*2.56));};};if(this.getEnableShader()&&this._mode!="huearea"){this._hueOpaque.setOpacity(1-(c[2]/100));};if(this._mode!="hex"){var s="";s+=QxColor.m_hex[Math.floor(r[0]/16)]+QxColor.m_hex[r[0]%16];s+=QxColor.m_hex[Math.floor(r[1]/16)]+QxColor.m_hex[r[1]%16];s+=QxColor.m_hex[Math.floor(r[2]/16)]+QxColor.m_hex[r[2]%16];this._hex.setText(s);};return true;};proto._modifyEnableShader=function(_b1,_b2,_b3,_b4){_b1?this.add(this._hueOpaque):this.remove(this._hueOpaque);return true;};proto._useWhiteColor=function(v){return v[2]<70||(v[1]>50&&(v[0].inrange(200,280)||v[0].inrange(-1,40)));};proto.setSavedColor=function(_b1){var r=QxColor.read(_b1);if(r){var c=QxColor.RGB2HSB(r[0],r[1],r[2]);this._savedColor.setBackgroundColor(_b1);this._savedColor.setColor(this._useWhiteColor(c)?"white":"black");}else {this._savedColor.setBackgroundColor(null);this._savedColor.setColor("black");};};proto._onchange=function(e){if(isValidString(this._mode)){return;};var t=e.getTarget();switch(e.getTarget()){case this._red:case this._blue:case this._green:this._mode="rgb";this.setCurrentColor([this._red.getValue(),this._green.getValue(),this._blue.getValue()]);break;case this._lum:this._mode="lum";this.setCurrentColor(QxColor.HSB2RGB(this._hue.getValue(),this._sat.getValue(),this._lum.getValue()));break;case this._hue:case this._sat:this._mode="hsb";this.setCurrentColor(QxColor.HSB2RGB(this._hue.getValue(),this._sat.getValue(),this._lum.getValue()));break;};delete this._mode;};proto._onchangehex=function(e){if(isValidString(this._mode)){return;};this._mode="hex";var r=QxColor.read("#"+this._hex.getText());if(r){this.setCurrentColor(r);};delete this._mode;};proto._onpaletteclick=function(e){this._mode="palette";this.setCurrentColor(e.getTarget().getBackgroundColor());delete this._mode;};proto._hueActive=false;proto._onhueareamousedown=function(e){this._hueActive=true;this.setCapture(true);};proto._onhueareamouseup=function(e){this._hueActive=false;this.setCapture(false);};proto._onhueareamousemove=function(e){if(this._hueActive){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();pa._onhueareaclick.call(this,e);};};proto._onhueareaclick=function(e){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();var h=((e.getPageX()-this.getComputedPageBoxLeft())/2.56*3.6).limit(0,360);var s=((e.getPageY()-this.getComputedPageBoxTop())/2.56).limit(0,100);var b=pa._lum.getValue();pa._huePos.setLeft(pa.layoutOffset+(h/3.6*2.56));pa._huePos.setTop(-4+(s*2.56));pa._mode="huearea";try{var r=QxColor.HSB2RGB(h,100-s,b);if(isValidArray(r)){pa.setCurrentColor(r);};}catch(ex){};delete pa._mode;};proto._brightActive=false;proto._onbrightareamousedown=function(e){this._brightActive=true;this.setCapture(true);};proto._onbrightareamouseup=function(e){this._brightActive=false;this.setCapture(false);};proto._onbrightareamousemove=function(e){if(this._brightActive){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();pa._onbrightareaclick.call(this,e);};};proto._onbrightareaclick=function(e){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();var h=pa._hue.getValue();var s=pa._sat.getValue();var b=((e.getPageY()-this.getComputedPageBoxTop())/2.56).limit(0,100);pa._brightPos.setTop(-4+(b*2.56));pa._mode="brightarea";try{var r=QxColor.HSB2RGB(h,s,100-b);if(r){pa.setCurrentColor(r);};}catch(ex){};delete pa._mode;};proto.dispose=function(){if(this.getDisposed()){return;};return QxWindow.prototype.dispose.call(this);};function QxNativeWindow(vCaption,vSource){QxTarget.call(this);this._timer=new QxTimer(100);this._timer.addEventListener("interval",this._ontimer,this);var o=this;this.__onload=function(e){return o._onload(e);};if(isValidString(vSource)){this.setSource(vSource);};if(isValidString(vCaption)){this.setCaption(vCaption);};};QxNativeWindow.extend(QxTarget,"QxNativeWindow");QxNativeWindow.addProperty({name:"width",defaultValue:400,groups:["dimension"]});QxNativeWindow.addProperty({name:"height",defaultValue:250,groups:["dimension"]});QxNativeWindow.addProperty({name:"left",type:Number,defaultValue:100,groups:["location"]});QxNativeWindow.addProperty({name:"top",type:Number,defaultValue:200,groups:["location"]});QxNativeWindow.addProperty({name:"modal",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"caption",type:String});QxNativeWindow.addProperty({name:"source",type:String});QxNativeWindow.addProperty({name:"status",type:String,defaultValue:"Ready"});QxNativeWindow.addProperty({name:"showStatusbar",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showMenubar",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showLocation",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showToolbar",type:Boolean,defaultValue:false});QxNativeWindow.addProperty({name:"showCaption",type:Boolean,defaultValue:true});QxNativeWindow.addProperty({name:"resizeable",type:Boolean,defaultValue:true});QxNativeWindow.addProperty({name:"moveable",type:Boolean,defaultValue:true});QxNativeWindow.addProperty({name:"allowScrollbars",type:Boolean,defaultValue:false});proto.getPane=function(){return this._pane;};proto.addToWindow=proto.add;proto.addToPane=function(){this._pane.add.apply(this._pane,arguments);};proto.add=proto.addToPane;proto._modifyLeft=function(_b1,_b2,_b3,_b4){return this._d3();};proto._modifyTop=function(_b1,_b2,_b3,_b4){return this._d3();};proto._d3=function(){if(this._window&&!this._window.closed){this._window.moveTo(this.getLeft(),this.getTop());};return true;};proto._modifyCaption=function(_b1,_b2,_b3,_b4){return this._applyCaption();};proto._modifyShowCaption=function(_b1,_b2,_b3,_b4){return this._applyCaption();};proto._applyCaption=function(){if(this._window&&this._instance){var v="";if(this.getShowCaption()){var vc=this.getCaption();if(isValidString(vc)){v=vc;};};this._instance.getClientDocument().getDocumentElement().title=v;};return true;};proto._modifySource=function(_b1,_b2,_b3,_b4){if(this._window&&this._window.closed==false){this._window.location.replace(isValidString(_b1) ? _b1 : ("javascript:/" + "/"));};return true;};proto._chromeCaptionSize=24;proto._isOpened=false;proto._isLoaded=false;proto.isLoaded=function(){return this._isLoaded;};proto.close=function(){if(this._window){this._window.close();};};proto.open=function(){var conf="dependent=yes,";if(isValidNumber(this.getWidth())){conf+="width="+this.getWidth()+",";};if(isValidNumber(this.getHeight())){if((new QxClient).isMshtml()){if(this.getShowMenubar()){conf+="height="+(this.getHeight()+(this.getAllowScrollbars()?-20:-8))+",";}else {conf+="height="+this.getHeight()+",";};}else {conf+="height="+this.getHeight()+",";};};if(isValidNumber(this.getLeft())){conf+="left="+this.getLeft()+",";};if(isValidNumber(this.getTop())){conf+="top="+this.getTop()+",";};conf+="resizable="+(this.getResizeable()?"yes":"no")+",";conf+="status="+(this.getShowStatusbar()?"yes":"no")+",";conf+="location="+(this.getShowLocation()?"yes":"no")+",";conf+="menubar="+(this.getShowMenubar()?"yes":"no")+",";conf+="toolbar="+(this.getShowToolbar()?"yes":"no")+",";conf+="scrollbars="+(this.getAllowScrollbars()?"yes":"no")+",";conf+="modal="+(this.getModal()?"yes":"no")+",";this._isOpened=false;this._isLoaded=false;this._readyState=0;if(this.getModal()){window.application.getClientWindow().getClientDocument().block(this);};this._window=window.open("about:blank","w"+this.toHash(),conf);if(!this._window){this.debug("Window could not be opened. It seems there is a popup blocker active!");if(this.getModal()){window.application.getClientWindow().getClientDocument().release(this);};throw new Error("popupblocker");};this._timer.restart();};proto.centerToScreen=function(){return this._centerHelper((screen.width - this.getWidth()) / 2, (screen.height - this.getHeight() - this._chromeCaptionSize) / 2);};proto.centerToScreenArea=function(){return this._centerHelper((screen.availWidth - this.getWidth()) / 2, (screen.availHeight - this.getHeight() - this._chromeCaptionSize) / 2);};proto.centerToOpener=function(){return this._centerHelper(((QxDOM.getWindowInnerWidth(window) - this.getWidth()) / 2) + QxDOM.getComputedScreenBoxLeft(window.document.body), ((QxDOM.getWindowInnerHeight(window) - this.getHeight() - this._chromeCaptionSize) / 2) + QxDOM.getComputedScreenBoxTop(window.document.body));};proto._centerHelper=function(l,t){this.forceLeft(0);this.forceTop(0);this.setLeft(l);this.setTop(t);if(this._window&&!this._window.closed){this.focus();};};proto.focus=function(){if(this._window){try{this._window.focus();}catch(ex){};};};proto.blur=function(){if(this._window){this._window.blur();};};proto._ontimer=function(e){if(isValidNumber(this._readyState)&&this._isOpened&&(!this._window||(this._window&&this._window.closed!=false))){if(this.getModal()){window.application.getClientWindow().getClientDocument().release(this);};this._timer.stop();if(this._instance){this._instance.dispose();this._instance=null;};this._isOpened=false;this._isLoaded=false;this._readyState=null;return;};if(!this._window||this._timerRun){return;};if(this._window){this._isOpened=true;};this._timerRun=true;switch(this._readyState){case 0:this._isLoaded=false;var d=this._window.document;if(d){try{this._window._QxNativeWindow=this;}catch(ex){};if(isValidString(this.getSource())){try{QxDOM.addEventListener(this._window,"load",this.__onload);}catch(ex){};this._window.location.replace(this.getSource());this._timer.setInterval(500);this._readyState=5;}else {this._readyState=1;};if(!this.getResizeable()&&!(new QxClient).isMshtml()){var w=this.getWidth();var h=this.getHeight();var win=this._window;this._window.addEventListener("resize",function(e){win.resizeTo(w,h);},false);};};break;case 1:var ls=document.getElementsByTagName("head")[0].getElementsByTagName("link");for(var i=0,l=ls.length;i<l;i++){if(ls[i].getAttribute("href").indexOf("layouts/")!=-1){var s=ls[i].getAttribute("href");break;};};var d=this._window.document;d.open("text/html",true);d.write('<?xml version="1.0" encoding="iso-8859-1"?>');d.write('<!DOCTYPE html PUBLIC "-/' + '/W3C/' + '/DTD XHTML 1.1/' + '/EN" "http:/' + '/www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">');d.write('<html xmlns="http:/' + '/www.w3.org/1999/xhtml" xml:lang="en">');d.write('<head>');d.write('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />');d.write('<meta http-equiv="MsThemeCompatible" content="yes"/>');d.write('<meta http-equiv="ImageToolBar" content="no"/>');d.write('<meta http-equiv="Pragma" content="no-cache"/>');d.write('<meta http-equiv="Expires" content="-1"/>');d.write('<meta http-equiv="Cache-Control" content="no-cache"/>');d.write('<meta name="MSSmartTagsPreventParsing" content="yes"/>');if(this.getShowCaption()){d.write('<title>'+this.getCaption()+'</title>');};if(isValidString(s)){d.write('<link type="text/css" rel="StyleSheet" href="' + s + '"/>');};d.write('</head><body></body></html>');d.close();this._readyState++;break;case 2:var d=this._window.document;if(d&&d.body){this._instance=new QxClientWindow(this._window);this._pane=this._instance.getClientDocument();this._readyState++;};break;case 3:try{if(this.hasEventListeners("ready")){this.dispatchEvent(new QxEvent("ready"));};}catch(ex){this.debug("Error in ready implementation:"+ex);this._timer.stop();};this._readyState++;break;case 4:this.focus();this._readyState++;this._onload();this._timer.setInterval(500);this._timer.restart();break;case 5:try{if(this._window.document.readyState=="complete"){this._onload();};}catch(ex){};if(!this.getMoveable()){try{this._window.moveTo(this.getLeft(),this.getTop());}catch(ex){};};if(!this.getResizeable()&&(this.getWidth()=="auto"||this.getHeight()=="auto")){var w,h;if(this.getWidth()=="auto"){w=this._instance.getClientDocument().getPreferredWidth();};if(this.getHeight()=="auto"){h=this._instance.getClientDocument().getPreferredHeight();};if(isValidNumber(w)||isValidNumber(h)){if((new QxClient).isMshtml()){try{this._window.resizeTo(isValidNumber(w)?w:this.getWidth(),isValidNumber(h)?h+this._chromeCaptionSize:this.getHeight());}catch(ex){};}else {if(isValidNumber(w)){this._window.innerWidth=w;};if(isValidNumber(h)){if(this._window.innerHeight!=150&&h!=150){this._window.innerHeight=h;};};};};};break;};delete this._timerRun;};proto._onload=function(){if(!this._isLoaded){this._isLoaded=true;this.focus();this.dispatchEvent(new QxEvent("load"));};};proto.dispose=function(){if(this.getDisposed()){return;};if(this._timer){this._timer.removeEventListener("interval",this._ontimer,this);this._timer.dispose();this._timer=null;};if(this._instance){this._instance.dispose();this._instance=null;};if(this._pane){this._pane.dispose();this._pane=null;};if(this._window){if(!this._window.closed){QxDOM.removeEventListener(this._window,"load",this.__onload);};this.close();try{if(this._window._QxNativeWindow){this._window._QxNativeWindow.dispose();this._window._QxNativeWindow=null;};}catch(ex){};this._window=null;};this._readyState=null;return QxTarget.prototype.dispose.call(this);};function QxLayout(){QxWidget.call(this);};QxLayout.extend(QxWidget,"QxLayout");proto._onnewchild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"append-child"):this._d1("append-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"append-child"):this._d2("append-child");};proto._onremovechild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"remove-child"):this._d1("remove-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"remove-child"):this._d2("remove-child");};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderVertical("parent");};};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};this._d2(_e5);switch(_e5){case "position-and-size":case "position":break;default:if(this.getWidth()=="auto"){return this._setChildrenDependWidth(vModifiedChild,_e5);}else {this._d1(_e5,vModifiedChild);};};QxWidget.prototype._childOuterWidthChanged.call(this,vModifiedChild,_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};switch(_e5){case "position-and-size":case "position":break;default:if(this.getHeight()=="auto"){return this._setChildrenDependHeight(vModifiedChild,_e5);}else {this._d2(_e5,vModifiedChild);};};QxWidget.prototype._childOuterHeightChanged.call(this,vModifiedChild,_e5);};proto._setChildrenDependWidth=function(_e4,_e5){var newWidth=this._d5Width(_e4,_e5);if(this._widthMode=="inner"&&this._widthModeValue==newWidth){if(_e5=="size"){return this._d1(_e5);};}else {this.setInnerWidth(newWidth,null,true);};return true;};proto._setChildrenDependHeight=function(_e4,_e5){var newHeight=this._d5Height(_e4,_e5);if(this._heightMode=="inner"&&this._heightModeValue==newHeight){if(_e5=="size"){return this._d2(_e5);};}else {this.setInnerHeight(newHeight,null,true);};return true;};function QxBoxLayout(vOrientation,vBlockAlign,vChildrenAlign){QxLayout.call(this);this.setWidth("auto");this.setHeight("auto");if(isValid(vOrientation)){this.setOrientation(vOrientation);};if(isValid(vBlockAlign)){this.getOrientation()=="horizontal"?this.setHorizontalBlockAlign(vBlockAlign):this.setVerticalChildrenAlign(vChildrenAlign);};if(isValid(vChildrenAlign)){this.getOrientation()=="horizontal"?this.setHorizontalChildrenAlign(vChildrenAlign):this.setVerticalChildrenAlign(vChildrenAlign);};};QxBoxLayout.extend(QxLayout,"QxBoxLayout");QxBoxLayout.addProperty({name:"horizontalBlockAlign",type:String,defaultValue:"left"});QxBoxLayout.addProperty({name:"verticalBlockAlign",type:String,defaultValue:"top"});QxBoxLayout.addProperty({name:"orientation",type:String,defaultValue:"horizontal"});QxBoxLayout.addProperty({name:"horizontalChildrenAlign",type:String,defaultValue:"center"});QxBoxLayout.addProperty({name:"verticalChildrenAlign",type:String,defaultValue:"middle"});QxBoxLayout.addProperty({name:"spacing",type:Number,defaultValue:0});QxBoxLayout.addProperty({name:"ignoreOrthogonalMargin",type:Boolean,defaultValue:false});proto._d1=function(){switch(this.getOrientation()){case "horizontal":var inner=this.getInnerWidth();var sum=0;var ch=this.getChildren();var chl=ch.length;var chc;var w;var spacing=this.getSpacing();var p=[];for(var i=0;i<chl;i++){p.push(sum);chc=ch[i];sum+=chc.getMarginLeft()+chc.getAnyWidth()+chc.getMarginRight()+spacing;};sum-=spacing;var startpos=this.getPaddingLeft();switch(this.getHorizontalBlockAlign()){case "center":startpos+=(inner-sum)/2;break;case "right":startpos+=inner-sum;break;};for(var i=0;i<chl;i++){ch[i]._d3Horizontal(startpos+p[i]);};break;case "vertical":var inner=this.getInnerWidth();var ch=this.getChildren();var chl=ch.length;var chc;var glob=this.getHorizontalChildrenAlign();var ign=this.getIgnoreOrthogonalMargin();var cust,pos;for(var i=0;i<chl;i++){chc=ch[i];cust=chc.getHorizontalAlign();pos=this.getPaddingLeft();switch(isValidString(cust)?cust:glob){case "right":pos+=inner-chc.getAnyWidth();break;case "center":pos+=Math.floor((inner-chc.getAnyWidth())/2);break;};if(ign){pos-=chc.getMarginLeft();};chc._d3Horizontal(pos);};break;};return true;};proto._d2=function(){switch(this.getOrientation()){case "horizontal":var inner=this.getInnerHeight();var ch=this.getChildren();var chl=ch.length;var chc;var glob=this.getVerticalChildrenAlign();var ign=this.getIgnoreOrthogonalMargin();var cust,pos;for(var i=0;i<chl;i++){chc=ch[i];cust=chc.getVerticalAlign();pos=this.getPaddingTop();switch(isValidString(cust)?cust:glob){case "bottom":pos+=inner-chc.getAnyHeight();break;case "middle":pos+=Math.floor((inner-chc.getAnyHeight())/2);break;};if(ign){pos-=chc.getMarginTop();};chc._d3Vertical(pos);};break;case "vertical":var inner=this.getInnerHeight();var sum=0;var ch=this.getChildren();var chl=ch.length;var chc;var h;var spacing=this.getSpacing();var p=[];for(var i=0;i<chl;i++){p.push(sum);chc=ch[i];sum+=chc.getMarginTop()+chc.getAnyHeight()+chc.getMarginBottom()+spacing;};sum-=spacing;var startpos=this.getPaddingTop();switch(this.getVerticalBlockAlign()){case "middle":startpos+=(inner-sum)/2;break;case "bottom":startpos+=inner-sum;break;};for(var i=0;i<chl;i++){ch[i]._d3Vertical(startpos+p[i]);};break;};return true;};proto._modifyOrientation=function(_b1,_b2,_b3,_b4){if(this._wasVisible){this.getWidth()=="auto"?this._setChildrenDependWidth(this,"orientation"):this._d1("orientation");this.getHeight()=="auto"?this._setChildrenDependHeight(this,"orientation"):this._d2("orientation");};return true;};proto._modifySpacing=function(_b1,_b2,_b3,_b4){if(this._wasVisible){if(this.getOrientation()=="horizontal"){this.getWidth()=="auto"?this._setChildrenDependWidth(null,"spacing"):this._d1("spacing");}else {this.getHeight()=="auto"?this._setChildrenDependHeight(null,"spacing"):this._d2("spacing");};};return true;};proto._modifyIgnoreOrthogonalMargin=function(_b1,_b2,_b3,_b4){if(this._wasVisible){if(this.getOrientation()!="horizontal"){this._d1("spacing");}else {this._d2("spacing");};};return true;};proto._modifyHorizontalBlockAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d1("block-align"):true;};proto._modifyVerticalBlockAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d2("block-align"):true;};proto._modifyHorizontalChildrenAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d1("children-align"):true;};proto._modifyVerticalChildrenAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d2("children-align"):true;};proto._d5Width=function(_e4,_e5){if(this.getOrientation()=="vertical"){return QxWidget.prototype._d5Width.call(this,_e4,_e5);};var w=0;var spacing=this.getSpacing();var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];w+=chc.getMarginLeft()+chc.getAnyWidth()+chc.getMarginRight()+spacing;};return w-spacing;};proto._d5Height=function(_e4,_e5){if(this.getOrientation()=="horizontal"){return QxWidget.prototype._d5Height.call(this,_e4,_e5);};var h=0;var spacing=this.getSpacing();var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];h+=chc.getMarginTop()+chc.getAnyHeight()+chc.getMarginBottom()+spacing;};return h-spacing;};function QxVerticalBoxLayout(vBlockAlign,vChildrenAlign){QxBoxLayout.call(this,"vertical",vBlockAlign,vChildrenAlign);};QxVerticalBoxLayout.extend(QxBoxLayout,"QxVerticalBoxLayout");proto._checkOrientation=function(_b1,_b2,propData,_b4){if(_b1!="vertical"){throw new Error("Orientation is not configurable in QxVerticalBoxLayout!");};return _b1;};function QxHorizontalBoxLayout(vBlockAlign,vChildrenAlign){QxBoxLayout.call(this,"horizontal",vBlockAlign,vChildrenAlign);};QxHorizontalBoxLayout.extend(QxBoxLayout,"QxHorizontalBoxLayout");proto._checkOrientation=function(_b1,_b2,propData,_b4){if(_b1!="horizontal"){throw new Error("Orientation is not configurable in QxHorizontalBoxLayout!");};return _b1;};function QxFlowLayout(){QxLayout.call(this);};QxFlowLayout.extend(QxLayout,"QxFlowLayout");QxFlowLayout.addProperty({name:"horizontalSpacing",type:Number,defaultValue:0});QxFlowLayout.addProperty({name:"verticalSpacing",type:Number,defaultValue:0});QxFlowLayout.addProperty({name:"horizontalBlockAlign",type:String,defaultValue:"left"});QxFlowLayout.addProperty({name:"verticalChildrenAlign",type:String,defaultValue:"top"});proto._d1=function(){var innerWidth=this.getInnerWidth();var innerHeight=this.getInnerHeight();var blockAlign=this.getHorizontalBlockAlign();var childrenAlign=this.getVerticalChildrenAlign();var spacingX=this.getHorizontalSpacing();var spacingY=this.getVerticalSpacing();var paddingLeft=this.getPaddingLeft();var paddingTop=this.getPaddingTop();var accumulatedWidth=0;var accumulatedHeight=0;var childNeededWidth;var childNeededHeight;var currentRow;var childCalculatedLeft,childCalculatedTop;var maxRequiredRowHeight=0;var rows=[];var childOffsetLeft=[];function storeRow(accumulatedWidth,accumulatedHeight,maxRequiredRowHeight){var r={width:accumulatedWidth,height:maxRequiredRowHeight,offsetTop:accumulatedHeight };switch(blockAlign){case "center":r.offsetLeft=(innerWidth-accumulatedWidth)/2;break;case "right":r.offsetLeft=innerWidth-accumulatedWidth;break;default:r.offsetLeft=0;};rows.push(r);};var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];childNeededWidth=chc.getMarginLeft()+chc.getAnyWidth()+chc.getMarginRight();childNeededHeight=chc.getAnyHeight();if((accumulatedWidth+childNeededWidth)>innerWidth){storeRow(accumulatedWidth,accumulatedHeight,maxRequiredRowHeight);chc.__row=rows.length;accumulatedHeight+=maxRequiredRowHeight+spacingY;childOffsetLeft.push(0);accumulatedWidth=childNeededWidth+spacingX;maxRequiredRowHeight=childNeededHeight;}else {chc.__row=rows.length;childOffsetLeft.push(accumulatedWidth);accumulatedWidth+=childNeededWidth+spacingX;maxRequiredRowHeight=Math.max(maxRequiredRowHeight,childNeededHeight);};};storeRow(accumulatedWidth,accumulatedHeight,maxRequiredRowHeight);for(var i=0;i<chl;i++){chc=ch[i];currentRow=rows[chc.__row];delete chc.__row;childCalculatedLeft=paddingLeft+currentRow.offsetLeft+childOffsetLeft[i];childCalculatedTop=paddingTop+currentRow.offsetTop;switch(childrenAlign){case "middle":childCalculatedTop+=(currentRow.height-chc.getAnyHeight())/2;break;case "bottom":childCalculatedTop+=currentRow.height-chc.getAnyHeight();break;};chc._d3Horizontal(childCalculatedLeft);chc._d3Vertical(childCalculatedTop);};return true;};proto._d2=function(){return true;};proto._d5Width=function(_e4,_e5){throw new Error("Auto Width is not supported by QxFlowLayout");};proto._d5Height=function(_e4,_e5){throw new Error("Auto Height is not supported by QxFlowLayout");};function QxDockLayout(){QxLayout.call(this);};QxDockLayout.extend(QxLayout,"QxDockLayout");QxDockLayout.addProperty({name:"respectAutoRequirements",type:Boolean,defaultValue:true});proto.add=function(){var l=arguments.length;var d=arguments[l-1];var o;if(isValidString(d)){l--;}else {d="auto";};for(var i=0;i<l;i++){o=arguments[i];if(!(o instanceof QxWidget)){throw new Error("Invalid Widget:"+o);}else {o.setParent(this);o.setLayoutHint(d);};};return this;};proto._d1=function(){var innerWidth=this.getInnerWidth();if(innerWidth==0){return;};var ch=this.getChildren();var chl=ch.length;var chc,cht;var grouped={left:[],right:[],orthogonal:[],auto:[] };for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "left":case "right":case "auto":grouped[cht].push(chc);break;case "top":case "bottom":grouped["orthogonal"].push(chc);break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};if(grouped.auto.length>1){throw new Error("QxDockLayout can not handle multiple auto children!");};var leftList=grouped.left;var leftLength=leftList.length;var leftLast=0;for(var i=0;i<leftLength;i++){chc=leftList[i];chc._d3Horizontal(leftLast);leftLast+=this._prepareSizeValue(chc.getAnyWidth(),innerWidth,chc.getMinWidth(),chc.getMaxWidth());};var rightList=grouped.right;var rightLength=rightList.length;var rightLast=innerWidth;for(var i=0;i<rightLength;i++){chc=rightList[i];rightLast-=this._prepareSizeValue(chc.getAnyWidth(),innerWidth,chc.getMinWidth(),chc.getMaxWidth());chc._d3Horizontal(rightLast);};var orthogonalList=grouped.orthogonal;var orthogonalLength=orthogonalList.length;for(var i=0;i<orthogonalLength;i++){chc=orthogonalList[i];chc._d3Horizontal(0);chc._applySizeHorizontal(innerWidth);};var autoList=grouped.auto;var autoLength=autoList.length;var autoItem=autoList[0];var autoSpace=Math.max(0,rightLast-leftLast);if(autoItem){autoItem._d3Horizontal(leftLast);autoItem._applySizeHorizontal(autoSpace);};};proto._d2=function(){var innerHeight=this.getInnerHeight();if(innerHeight==0){return;};var ch=this.getChildren();var chl=ch.length;var chc,cht;var grouped={top:[],bottom:[],orthogonal:[],auto:[] };for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "top":case "bottom":case "auto":grouped[cht].push(chc);break;case "left":case "right":grouped["orthogonal"].push(chc);break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};if(grouped.auto.length>1){throw new Error("QxDockLayout can not handle multiple auto children!");};var topList=grouped.top;var topLength=topList.length;var topLast=0;for(var i=0;i<topLength;i++){chc=topList[i];chc._d3Vertical(topLast);topLast+=this._prepareSizeValue(chc.getAnyHeight(),innerHeight,chc.getMinHeight(),chc.getMaxHeight());};var bottomList=grouped.bottom;var bottomLength=bottomList.length;var bottomLast=innerHeight;for(var i=0;i<bottomLength;i++){chc=bottomList[i];bottomLast-=this._prepareSizeValue(chc.getAnyHeight(),innerHeight,chc.getMinHeight(),chc.getMaxHeight());chc._d3Vertical(bottomLast);};var otherList=grouped.orthogonal.concat(grouped.auto);var otherSpace=Math.max(0,bottomLast-topLast);for(var i=0,l=otherList.length;i<l;i++){chc=otherList[i];chc._d3Vertical(topLast);chc._applySizeVertical(otherSpace);};};proto._d5Width=function(_e4,_e5){var ch=this.getChildren();var chl=ch.length;var chc;var accumulatedWidth=0;var maxSingleRequiredWidth=0;var respectAutoRequirements=this.getRespectAutoRequirements();var tempSize;for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "top":case "bottom":tempSize=chc.getAnyWidth();tempSize=isValidNumber(tempSize)?tempSize:0;maxSingleRequiredWidth=Math.max(Math.min(Math.max(chc.getMinWidth(),tempSize),chc.getMaxWidth()),maxSingleRequiredWidth);break;case "auto":if(!respectAutoRequirements){break;};case "left":case "right":tempSize=chc.getAnyWidth();tempSize=isValidNumber(tempSize)?tempSize:0;accumulatedWidth+=Math.min(Math.max(tempSize,chc.getMinWidth()),chc.getMaxWidth());break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};return Math.max(0,accumulatedWidth+maxSingleRequiredWidth);};proto._d5Height=function(_e4,_e5){var ch=this.getChildren();var chl=ch.length;var chc;var accumulatedHeight=0;var maxSingleRequiredHeight=0;var respectAutoRequirements=this.getRespectAutoRequirements();var tempSize;for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "top":case "bottom":tempSize=chc.getAnyHeight();tempSize=isValidNumber(tempSize)?tempSize:0;accumulatedHeight+=Math.min(Math.max(tempSize,chc.getMinHeight()),chc.getMaxHeight());break;case "auto":if(!respectAutoRequirements){break;};case "left":case "right":tempSize=chc.getAnyHeight();tempSize=isValidNumber(tempSize)?tempSize:0;maxSingleRequiredHeight=Math.max(Math.min(Math.max(chc.getMinHeight(),tempSize),chc.getMaxHeight()),maxSingleRequiredHeight);break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};return Math.max(0,accumulatedHeight+maxSingleRequiredHeight);};proto._prepareSizeValue=function(size,full,min,max){var t=typeof size=="string"?Math.round(parseInt(size)*full/100):size;if(!isValidNumber){return null;};return t.limit(min,max);};function QxGridLayout(vRows,vCols,vShowVirtualCells){QxLayout.call(this);this._rowHeights=[];this._colWidths=[];this._computedRowTypes=[];this._computedColTypes=[];this._computedRowHeights=[];this._computedColWidths=[];this._virtualCells=[];if(isValid(vShowVirtualCells)){this.setShowVirtualCells(vShowVirtualCells);};if(isValidString(vRows)){this.addRowsFromString(vRows);};if(isValidString(vCols)){this.addColsFromString(vCols);};};QxGridLayout.extend(QxLayout,"QxGridLayout");QxGridLayout.addProperty({name:"constraintMode",type:String,defaultValue:"clip"});QxGridLayout.addProperty({name:"respectSpansInAuto",type:Boolean,defaultValue:false});QxGridLayout.addProperty({name:"showVirtualCells",type:Boolean,defaultValue:false});QxGridLayout.addProperty({name:"cellPaddingTop",type:Number,defaultValue:0});QxGridLayout.addProperty({name:"cellPaddingRight",type:Number,defaultValue:0});QxGridLayout.addProperty({name:"cellPaddingBottom",type:Number,defaultValue:0});QxGridLayout.addProperty({name:"cellPaddingLeft",type:Number,defaultValue:0});proto.add=function(w,h){if(isInvalidNumber(h.colspan)){h.colspan=1;};if(isInvalidNumber(h.rowspan)){h.rowspan=1;};if(isValidNumber(h.padding)){if(isInvalidNumber(h.paddingLeft)){h.paddingLeft=h.padding;};if(isInvalidNumber(h.paddingTop)){h.paddingTop=h.padding;};if(isInvalidNumber(h.paddingRight)){h.paddingRight=h.padding;};if(isInvalidNumber(h.paddingBottom)){h.paddingBottom=h.padding;};}else {if(isInvalidNumber(h.paddingLeft)){h.paddingLeft=this.getCellPaddingLeft();};if(isInvalidNumber(h.paddingTop)){h.paddingTop=this.getCellPaddingTop();};if(isInvalidNumber(h.paddingRight)){h.paddingRight=this.getCellPaddingRight();};if(isInvalidNumber(h.paddingBottom)){h.paddingBottom=this.getCellPaddingBottom();};};if(isInvalid(h.scaleHorizontal)){h.scaleHorizontal=false;};if(isInvalid(h.scaleVertical)){h.scaleVertical=false;};w.setParent(this);w.setLayoutHint(h);};proto.remove=function(w){w.setParent(null);w.setLayoutHint(null);};proto.addRowsFromString=function(vRows){if(isValidString(vRows)){for(var i=0,a=vRows.split(","),l=a.length;i<l;i++){this.addRow(a[i]);};};};proto.addColsFromString=function(vCols){if(isValidString(vCols)){for(var i=0,a=vCols.split(","),l=a.length;i<l;i++){this.addCol(a[i]);};};};proto._anyColSum=0;proto._anyRowSum=0;proto._computeAnyWeight=function(vValue){return parseFloat(vValue.substring(1,vValue.length))||1;};proto.addRow=function(vHeight){var vPos=this._rowHeights.length+1;var vComputed,vType,vAnyWeight;switch(typeof vHeight){case "number":vComputed=vHeight;vType="static";break;case "string":if(vHeight=="auto"){vType="auto";vComputed=this._computeAutoRowHeight(vPos,vHeight);break;}else if(vHeight.indexOf("*")==0){vType="any";this._anyRowSum+=this._computeAnyWeight(vHeight);vComputed=this._computeAnyRowHeight(vPos,vHeight);break;}else if(vHeight.indexOf("%")==(vHeight.length-1)){vType="percent";vComputed=this._computePercentRowHeight(vPos,vHeight);break;};var vTemp=parseInt(vHeight);if(!isNaN(vTemp)){vComputed=vTemp;vType="static";break;};default:throw new Error("Unsupported Row Type:"+vHeight);};this._rowHeights.push(vHeight);this._rowCount=this._rowHeights.length;if(isValidString(vType)){this._computedRowTypes.push(vType);};if(isValidNumber(vComputed)){this._computedRowHeights.push(vComputed);};if(this.getShowVirtualCells()){for(var i=0,l=this.getColCount();i<l;i++){this._virtualCells.push(document.createElement("div"));};};};proto.addCol=function(vWidth){var vPos=this._colWidths.length+1;var vComputed,vType;switch(typeof vWidth){case "number":vComputed=vWidth;vType="static";break;case "string":if(vWidth=="auto"){vType="auto";vComputed=this._computeAutoColWidth(vPos,vWidth);break;}else if(vWidth.indexOf("*")==0){vType="any";this._anyColSum+=this._computeAnyWeight(vWidth);vComputed=this._computeAnyColWidth(vPos,vWidth);break;}else if(vWidth.indexOf("%")==(vWidth.length-1)){vType="percent";vComputed=this._computePercentColWidth(vPos,vWidth);break;};var vTemp=parseInt(vWidth);if(!isNaN(vTemp)){vComputed=vTemp;vType="static";break;};default:throw new Error("Unsupported Col Type:"+vWidth);};this._colWidths.push(vWidth);this._colCount=this._colWidths.length;if(isValidString(vType)){this._computedColTypes.push(vType);};if(isValidNumber(vComputed)){this._computedColWidths.push(vComputed);};if(this.getShowVirtualCells()){for(var i=0,l=this.getRowCount();i<l;i++){this._virtualCells.insertAt(document.createElement("div"),i*this._colCount);};};};proto.getRowCount=function(){return this._rowCount;};proto.getColCount=function(){return this._colCount;};proto._layoutHorizontalInitialDone=false;proto._d1=function(_e5,vModifiedChild){if(!this._layoutHorizontalInitialDone){_e5="initial";};var vCol;switch(_e5){case "initial":for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){this._layoutHorizontal(chc);};break;case "load":case "size":case "load":case "size":if(!vModifiedChild){break;};this._updateAutoCols(vModifiedChild);case "append-child-light":case "remove-child-light":var vMatchCol=vModifiedChild.getLayoutHint().col;var vLayoutHint;var vCol;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vCol=vLayoutHint.col;if(vCol>=vMatchCol||(vCol<vMatchCol&&(vLayoutHint.colspan+vCol)>=vMatchCol)){this._layoutHorizontal(chc);};};break;case "append-child":var vChange=false;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vCol=chc.getLayoutHint().col;if(vChange){this._layoutHorizontal(chc);}else {switch(this._computedColTypes[vCol-1]){case "auto":this._layoutHorizontal(chc);vChange=true;break;};};};break;case "inner-width":var vChange=false;var vLayoutHint,vColSpan;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vCol=vLayoutHint.col;if(vChange){this._layoutHorizontal(chc);}else {switch(this._computedColTypes[vCol-1]){case "percent":case "any":this._layoutHorizontal(chc);vChange=true;break;default:vColSpan=vLayoutHint.colspan;for(var j=1;j<vColSpan;j++){switch(this._computedColTypes[vCol-1+j]){case "percent":case "any":this._layoutHorizontal(chc);vChange=true;break;};};};};};break;};this._layoutHorizontalInitialDone=true;};proto._layoutVerticalInitialDone=false;proto._d2=function(_e5,vModifiedChild){if(!this._layoutVerticalInitialDone){_e5="initial";};var vRow;switch(_e5){case "initial":for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){this._layoutVertical(chc);};break;case "load":case "size":if(!vModifiedChild){break;};this._updateAutoRows(vModifiedChild);case "append-child-light":case "remove-child-light":var vMatchRow=vModifiedChild.getLayoutHint().row;var vLayoutHint;var vRow;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vRow=vLayoutHint.row;if(vRow>=vMatchRow||(vRow<vMatchRow&&(vLayoutHint.rowspan+vRow)>=vMatchRow)){this._layoutVertical(chc);};};break;case "append-child":var vChange=false;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vRow=chc.getLayoutHint().row;if(vChange){this._layoutVertical(chc);}else {switch(this._computedRowTypes[vRow-1]){case "auto":this._layoutVertical(chc);vChange=true;break;};};};break;case "inner-height":var vChange=false;var vLayoutHint,vRowSpan;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vRow=vLayoutHint.row;if(vChange){this._layoutVertical(chc);}else {switch(this._computedRowTypes[vRow-1]){case "percent":case "any":this._layoutVertical(chc);vChange=true;break;default:vRowSpan=vLayoutHint.rowspan;for(var j=1;j<vRowSpan;j++){switch(this._computedRowTypes[vRow-1+j]){case "percent":case "any":this._layoutVertical(chc);vChange=true;break;};};};};};break;};this._layoutVerticalInitialDone=true;};proto._layoutHorizontal=function(vWidget){if(!vWidget.isCreated()){return;};var _e5=vWidget.getLayoutHint();var vRow=_e5.row-1;var vCol=_e5.col-1;var vColSpan=_e5.colspan;var vColCount=this.getColCount();var vLeft=this.getPaddingLeft();var vWidth=0;for(var i=0;i<vCol;i++){vLeft+=this._computedColWidths[i];};for(var j=0;j<vColSpan;j++){vWidth+=this._computedColWidths[i+j];};var vAvailableWidth=vWidth-_e5.paddingLeft-_e5.paddingRight;var vClip=vWidget.getClip();if(vClip){vClip[1]=vAvailableWidth;vWidget.forceClip(null);vWidget.setClip(vClip);}else {vWidget.setClip([0,vAvailableWidth,0,0])};if(this.getShowVirtualCells()){var vCell=this._virtualCells[(vRow*vColCount)+vCol];var vCellStyle=vCell.style;vCellStyle.position="absolute";vCellStyle.border="1px solid #4D79FF";vCellStyle.left=vLeft+"px";vCellStyle.width=vWidth+"px";vCellStyle.zIndex="-1";if(!vCellStyle.parentNode){this.getElement().appendChild(vCell);};};switch(vWidget.getHorizontalAlign()){case "center":vLeft+=Math.max((vAvailableWidth-vWidget.getAnyWidth())/2,0);break;case "right":vLeft+=Math.max(vAvailableWidth-vWidget.getAnyWidth(),0);break;};vWidget._d3Horizontal(vLeft+_e5.paddingLeft);if(_e5.scaleHorizontal){vWidget._applySizeHorizontal(vAvailableWidth);};};proto._layoutVertical=function(vWidget){if(!vWidget.isCreated()){return;};var _e5=vWidget.getLayoutHint();var vRow=_e5.row-1;var vCol=_e5.col-1;var vRowSpan=_e5.rowspan;var vColCount=this.getColCount();var vTop=this.getPaddingTop();var vHeight=0;for(var i=0;i<vRow;i++){vTop+=this._computedRowHeights[i];};for(var j=0;j<vRowSpan;j++){vHeight+=this._computedRowHeights[i+j];};var vAvailableHeight=vHeight-_e5.paddingTop-_e5.paddingBottom;var vClip=vWidget.getClip();if(vClip){vClip[2]=vAvailableHeight;vWidget.forceClip(null);vWidget.setClip(vClip);}else {vWidget.setClip([0,0,vAvailableHeight,0])};if(this.getShowVirtualCells()){var vCell=this._virtualCells[(vRow*vColCount)+vCol];var vCellStyle=vCell.style;vCellStyle.position="absolute";vCellStyle.border="1px solid #4D79FF";vCellStyle.top=vTop+"px";vCellStyle.height=vHeight+"px";vCellStyle.zIndex="-1";if(!vCellStyle.parentNode){this.getElement().appendChild(vCell);};};switch(vWidget.getVerticalAlign()){case "middle":vTop+=Math.max((vAvailableHeight-vWidget.getAnyHeight())/2,0);break;case "bottom":vTop+=Math.max(vAvailableHeight-vWidget.getAnyHeight(),0);break;};vWidget._d3Vertical(vTop+_e5.paddingTop);if(_e5.scaleVertical){vWidget._applySizeVertical(vAvailableHeight);};};proto._updatePercentCols=function(){var vColCount=this.getColCount();for(var i=0;i<vColCount;i++){if(this._computedColTypes[i]=="percent"){this._computedColWidths[i]=this._computePercentColWidth(i,this._colWidths[i]);};};};proto._updatePercentRows=function(){var vRowCount=this.getRowCount();for(var i=0;i<vRowCount;i++){if(this._computedRowTypes[i]=="percent"){this._computedRowHeights[i]=this._computePercentRowHeight(i,this._rowHeights[i]);};};};proto._updateAnyCols=function(){var vColCount=this.getColCount();var vRet=false;var vNew;for(var i=0;i<vColCount;i++){if(this._computedColTypes[i]=="any"){vNew=this._computeAnyColWidth(i,this._colWidths[i]);if(vNew!=this._computedColWidths[i]){this._computedColWidths[i]=vNew;vRet=true;};};};return vRet;};proto._updateAnyRows=function(){var vRowCount=this.getRowCount();var vRet=false;var vNew;for(var i=0;i<vRowCount;i++){if(this._computedRowTypes[i]=="any"){vNew=this._computeAnyRowHeight(i,this._rowHeights[i]);if(vNew!=this._computedRowHeights[i]){this._computedRowHeights[i]=vNew;vRet=true;};};};return vRet;};proto._updateAutoRows=function(otherObject){var _e5=otherObject.getLayoutHint();var vRow=_e5.row;if(this._computedRowTypes[vRow-1]=="auto"){var vNew=this._computeAutoRowHeight(vRow);if(vNew!=this._computedRowHeights[vRow-1]){this._computedRowHeights[vRow-1]=vNew;return true;};};return false;};proto._updateAutoCols=function(otherObject){var _e5=otherObject.getLayoutHint();var vCol=_e5.col;if(this._computedColTypes[vCol-1]=="auto"){var vNew=this._computeAutoColWidth(vCol);if(vNew!=this._computedColWidths[vCol-1]){this._computedColWidths[vCol-1]=vNew;return true;};};return false;};proto._onnewchild=function(otherObject){if(this._updateAutoRows(otherObject)){if(this._updateAnyRows()){this._d2("inner-height");};this._d2("append-child",otherObject);}else {this._d2("append-child-light",otherObject);};if(this._updateAutoCols(otherObject)){if(this._updateAnyCols()){this._d1("inner-width");};this._d1("append-child",otherObject);}else {this._d1("append-child-light",otherObject);};};proto._onremovechild=function(otherObject){if(this._updateAutoRows(otherObject)){if(this._updateAnyRows()){this._d2("inner-height");};this._d2("remove-child",otherObject);}else {this._d2("remove-child-light",otherObject);};if(this._updateAutoCols(otherObject)){if(this._updateAnyCols()){this._d1("inner-width");};this._d1("remove-child",otherObject);}else {this._d1("remove-child-light",otherObject);};};proto._innerWidthChanged=function(){this._d4Width();this._updatePercentCols();this._updateAnyCols();this._d1("inner-width");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._innerHeightChanged=function(){this._d4Height();this._updatePercentRows();this._updateAnyRows();this._d2("inner-height");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderVertical("parent");};};proto._computePercentRowHeight=function(vPos,vHeight){if(!this.isCreated()){return 0;};vHeight=parseFloat(vHeight);if(isNaN(vHeight)){return 0;};return Math.round(this.getInnerHeight()*vHeight/100);};proto._computePercentColWidth=function(vPos,vWidth){if(!this.isCreated()){return 0;};vWidth=parseFloat(vWidth);if(isNaN(vWidth)){return 0;};return Math.round(this.getInnerWidth()*vWidth/100);};proto._computeAutoRowHeight=function(vPos){var vMaxHeight=0;var _e5;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){_e5=chc.getLayoutHint();if(_e5.row==vPos){vMaxHeight=Math.max(chc.getAnyHeight()+_e5.paddingTop+_e5.paddingBottom,vMaxHeight);};};return vMaxHeight;};proto._computeAutoColWidth=function(vPos){var vMaxWidth=0;var _e5;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){_e5=chc.getLayoutHint();if(_e5.col==vPos){vMaxWidth=Math.max(chc.getAnyWidth()+_e5.paddingLeft+_e5.paddingRight,vMaxWidth);};};return vMaxWidth;};proto._computeAnyRowHeight=function(vPos,vHeight){if(!this.isCreated()){return 0;};var innerHeight=this.getInnerHeight();var rows=this._computedRowHeights;var rowLength=rows.length;var rowTypes=this._computedRowTypes;var anyCount=0;for(var i=0;i<rowLength;i++){if(rowTypes[i]!="any"){innerHeight-=rows[i];};};return Math.max(0,Math.round(innerHeight/this._anyRowSum*this._computeAnyWeight(vHeight)));};proto._computeAnyColWidth=function(vPos,vWidth){if(!this.isCreated()){return 0;};var innerWidth=this.getInnerWidth();var cols=this._computedColWidths;var colLength=cols.length;var colTypes=this._computedColTypes;var anyCount=0;for(var i=0;i<colLength;i++){if(colTypes[i]!="any"){innerWidth-=cols[i];};};return Math.max(0,Math.round(innerWidth/this._anyColSum*this._computeAnyWeight(vWidth)));};function QxDomSelectionManager(vBoundedWidget){QxSelectionManager.call(this,vBoundedWidget);this.setDragSelection(false);this._j5.getItemHashCode=this.getItemHashCode;};QxDomSelectionManager.extend(QxSelectionManager,"QxDomSelectionManager");proto.getItemEnabled=function(oItem){return true;};proto.getItemClassName=function(vItem){return vItem.className||"";};proto.setItemClassName=function(vItem,vClassName){return vItem.className=vClassName;};proto.getItemBaseClassName=function(vItem){var p=vItem.className.split(" ")[0];return p?p:"Status";};proto.getNextSibling=function(vItem){return vItem.nextSibling;};proto.getPreviousSibling=function(vItem){return vItem.previousSibling;};proto.getItemHashCode=function(vItem){return vItem.toHash();};proto.getItemLeft=function(vItem){return vItem.offsetLeft;};proto.getItemTop=function(vItem){return vItem.offsetTop;};proto.getItemWidth=function(vItem){return vItem.offsetWidth;};proto.getItemHeight=function(vItem){return vItem.offsetHeight;};proto.getItemHashCode=function(oItem){if(oItem._hash){return oItem._hash;};return oItem._hash=QxObject.toHash(oItem);};proto.isBefore=function(vItem1,vItem2){var pa=vItem1.parentNode;for(var i=0,l=pa.childNodes.length;i<l;i++){switch(pa.childNodes[i]){case vItem2:return false;case vItem1:return true;};};};proto.scrollItemIntoView=function(vItem){this.getBoundedWidget().scrollItemIntoView(vItem);};proto.getItems=function(){return this.getBoundedWidget().getItems();};proto.getAbove=function(vItem){var vParent=vItem.parentNode;var vFound=false;var vLeft=vItem.offsetLeft;var vChild;for(var i=vParent.childNodes.length-1;i>0;i--){vChild=vParent.childNodes[i];if(vFound==false){if(vChild==vItem){vFound=true;};}else {if(vChild.offsetLeft==vLeft){return vChild;};};};};proto.getUnder=function(vItem){var vParent=vItem.parentNode;var vFound=false;var vLeft=vItem.offsetLeft;var vChild;for(var i=0,l=vParent.childNodes.length;i<l;i++){vChild=vParent.childNodes[i];if(vFound==false){if(vChild==vItem){vFound=true;};}else {if(vChild.offsetLeft==vLeft){return vChild;};};};};function QxGallery(vGalleryList){QxWidget.call(this);this._blank=(new QxImageManager).getBlank();this._list=vGalleryList;this._addCssClassName("QxWidget");this.setOverflow("auto");this._manager=new QxDomSelectionManager(this);this._manager.setMultiColumnSupport(true);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("mousemove",this._onmousemove);this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("keydown",this._g4);};QxGallery.extend(QxWidget,"QxGallery");QxGallery.addProperty({name:"thumbMaxWidth",type:Number,defaultValue:100});QxGallery.addProperty({name:"thumbMaxHeight",type:Number,defaultValue:100});QxGallery.addProperty({name:"decorHeight",type:Number,defaultValue:40});QxGallery.addProperty({name:"showTitle",type:Boolean,defaultValue:true});QxGallery.addProperty({name:"showComment",type:Boolean,defaultValue:true});proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){var o=this;window.setTimeout(function(){o.getElement().appendChild(o.createView());},100);};return QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto.getManager=function(){return this._manager;};proto.getList=function(){return this._list;};proto.update=function(vGalleryList){this._manager.deselectAll();this._list=vGalleryList;var el=this.getElement();el.replaceChild(this.createView(),el.firstChild);};proto.removeAll=function(){this._manager.deselectAll();this.getElement().innerHTML="";};proto.updateImageSrcById=function(vId,vSrc){return this.updateImageSrcByPosition(this.getPositionById(vId),vSrc);};proto.updateImageSrcByPosition=function(vPos,vSrc){if(vPos==-1){throw new Error("No valid Position:"+vPos);};var vNode=this.getNodeByPosition(vPos);vNode.getElementsByTagName("IMG")[0].src=vSrc;this._list.src=vSrc;};proto.deleteById=function(vId){this.deleteByPosition(this.getPositionById(vId));};proto.deleteByPosition=function(vPos){if(vPos==-1){throw new Error("No valid Position:"+vPos);};var vNode=this.getNodeByPosition(vPos);if(vNode){vNode.parentNode.removeChild(vNode);};this._list.removeAt(vPos);};proto.getPositionById=function(vId){for(var i=0,a=this._list,l=a.length;i<l;i++){if(a[i].id==vId){return i;};};return-1;};proto.getEntryById=function(vId){return this.getEntryByPosition(this.getPositionById(vId));};proto.getNodeById=function(vId){return this.getNodeByPosition(this.getPositionById(vId));};proto.getEntryByPosition=function(vPosition){return vPosition==-1?null:this._list[vPosition];};proto.getNodeByPosition=function(vPosition){return vPosition==-1?null:this._frame.childNodes[vPosition];};proto.getEntryByNode=function(vNode){return this.getEntryById(vNode.id);};proto.addFromPartialList=function(vPartialList){this.concat(vPartialList);for(var i=0,a=vPartialList,l=a.length;i<l;i++){this._frame.appendChild(this.createCell(a[i]));};};proto.addFromUpdatedList=function(vNewList){for(var a=vNewList,l=a.length,i=this._list.length;i<l;i++){this._frame.appendChild(this.createCell(a[i]));};this._list=vNewList;};proto._g1=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseDown(vItem,e);};};proto._g2=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseUp(vItem,e);};};proto._onmousemove=function(e){if(typeof QxToolTipManager!="function"){return;};var vItem=this.getListItemTarget(e.getDomTarget());if(vItem==this._lastItem){return;};if(this._lastItem){var vEventObject=new QxMouseEvent("mouseout",e,false,this._lastItem);(new QxToolTipManager).handleMouseOut(vEventObject);vEventObject.dispose();};if(vItem){if(this.hasEventListeners("beforeToolTipAppear")){this.dispatchEvent(new QxDataEvent("beforeToolTipAppear",vItem));};if(!this.getToolTip()){return;};var vEventObject=new QxMouseEvent("mouseout",e,false,vItem);(new QxToolTipManager).handleMouseOver(vEventObject);vEventObject.dispose();this.setToolTip(null);};this._lastItem=vItem;};proto._g3=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleClick(vItem,e);};};proto._ondblclick=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleDblClick(vItem,e);};};proto._g4=function(e){this._manager.handleKeyDown(e);};proto.getListItemTarget=function(dt){while(dt.className.indexOf("galleryCell")==-1&&dt.tagName!="BODY"){dt=dt.parentNode;};if(dt.tagName=="BODY"){return null;};return dt;};proto.scrollItemIntoView=function(vItem){this.scrollItemIntoViewX(vItem);this.scrollItemIntoViewY(vItem);};proto.scrollItemIntoViewX=function(vItem){QxDOM.scrollIntoViewX(vItem,vItem.parentNode.parentNode);};proto.scrollItemIntoViewY=function(vItem){QxDOM.scrollIntoViewY(vItem,vItem.parentNode.parentNode);};proto.getItems=function(){return this._frame.childNodes;};proto.getFirstChild=function(){return this._frame.childNodes[0];};proto.getLastChild=function(){return this._frame.childNodes[this._frame.childNodes.length-1];};proto.createView=function(){var s=(new Date).valueOf();var tWidth=this.getThumbMaxWidth();var tHeight=this.getThumbMaxHeight();if(!this._protoCell){this.createProtoCell();};this._frame=document.createElement("div");this._frame.className="galleryFrame clearfix";for(var i=0,a=this._list,l=a.length;i<l;i++){this._frame.appendChild(this.createCell(a[i]));};return this._frame;};proto.createCell=function(d){var cframe=this._protoCell.cloneNode(true);cframe.id=d.id;cframe.pos=i;if(this.getShowTitle()){cnode=cframe.childNodes[0];cnode.firstChild.nodeValue=d.title;};var cnode=cframe.childNodes[this.getShowTitle()?1:0];cnode.width=d.thumbWidth;cnode.height=d.thumbHeight;if(cnode.runtimeStyle&&!window.opera){cnode.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+d.src+"',sizingMethod='scale')";}else{cnode.src=d.src;};cnode.style.marginLeft=cnode.style.marginRight=Math.floor((this.getThumbMaxWidth()-d.thumbWidth)/2)+"px";cnode.style.marginTop=cnode.style.marginBottom=Math.floor((this.getThumbMaxHeight()-d.thumbHeight)/2)+"px";if(this.getShowComment()){cnode=cframe.childNodes[this.getShowTitle()?2:1];cnode.firstChild.nodeValue=d.comment;};return cframe;};proto.createProtoCell=function(){var frame=this._protoCell=document.createElement("div");frame.className="galleryCell";frame.unselectable="on";frame.style.width=this.getThumbMaxWidth()+"px";frame.style.height=(this.getThumbMaxHeight()+this.getDecorHeight())+"px";if(this.getShowTitle()){var title=document.createElement("div");title.className="galleryTitle";title.unselectable="on";var ttext=document.createTextNode("-");title.appendChild(ttext);frame.appendChild(title);};var image=new Image();image.src=this._blank;frame.appendChild(image);if(this.getShowComment()){var comment=document.createElement("div");comment.className="galleryComment";comment.unselectable="on";var ctext=document.createTextNode("-");comment.appendChild(ctext);frame.appendChild(comment);};};function QxGalleryList(galleryList){QxWidget.call(this);this._blank=(new QxImageManager).getBlank();this._list=galleryList;this.setOverflow("auto");this._manager=new QxDomSelectionManager(this);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("keydown",this._g4);};QxGalleryList.extend(QxWidget,"QxGalleryList");QxGalleryList.addProperty({name:"thumbMaxWidth",type:Number,defaultValue:60});QxGalleryList.addProperty({name:"thumbMaxHeight",type:Number,defaultValue:60});QxGalleryList.addProperty({name:"decorHeight",type:Number,defaultValue:40});proto.getManager=function(){return this._manager;};proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){var o=this;window.setTimeout(function(){o.getElement().appendChild(o.createView());},100);};return QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto._g1=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseDown(vItem,e);};};proto._g2=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseUp(vItem,e);};};proto._g3=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleClick(vItem,e);};};proto._ondblclick=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleDblClick(vItem,e);};};proto._g4=function(e){this._manager.handleKeyDown(e);};proto.getListItemTarget=function(dt){while(dt.className.indexOf("galleryCell")==-1&&dt.tagName!="BODY"){dt=dt.parentNode;};if(dt.tagName=="BODY"){return null;};return dt;};proto.scrollItemIntoView=function(vItem){this.scrollItemIntoViewX(vItem);this.scrollItemIntoViewY(vItem);};proto.scrollItemIntoViewX=function(vItem){QxDOM.scrollIntoViewX(vItem,vItem.parentNode.parentNode);};proto.scrollItemIntoViewY=function(vItem){QxDOM.scrollIntoViewY(vItem,vItem.parentNode.parentNode);};proto.getItems=function(){return this._frame.childNodes;};proto.getFirstChild=function(){return this._frame.childNodes[0];};proto.getLastChild=function(){return this._frame.childNodes[this._frame.childNodes.length-1];};proto.createView=function(){var s=(new Date).valueOf();var tWidth=this.getThumbMaxWidth();var tHeight=this.getThumbMaxHeight();var protoCell=this.createProtoCell(tHeight);var frame=this._frame=document.createElement("div");this._frame.className="galleryFrame clearfix";var cframe,cnode;for(var i=0,a=this._list,l=a.length,d;i<l;i++){d=a[i];cframe=protoCell.cloneNode(true);cframe.id=d.id;cframe.pos=i;cnode=cframe.childNodes[0];cnode.firstChild.nodeValue=d.number;cnode=cframe.childNodes[1].firstChild;cnode.width=d.thumbWidth;cnode.height=d.thumbHeight;if(cnode.runtimeStyle&&!window.opera){cnode.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+d.src+"',sizingMethod='scale')";}else{cnode.src=d.src;};cnode.style.marginLeft=cnode.style.marginRight=Math.floor((tWidth-d.thumbWidth)/2)+"px";cnode.style.marginTop=cnode.style.marginBottom=Math.floor((tHeight-d.thumbHeight)/2)+"px";cnode=cframe.childNodes[2].firstChild;cnode.firstChild.nodeValue=d.title;cnode=cframe.childNodes[2].lastChild;cnode.firstChild.nodeValue=d.comment;frame.appendChild(cframe);};return frame;};proto.createProtoCell=function(tHeight){var frame=document.createElement("div");frame.className="galleryCell";frame.unselectable="on";frame.style.height=(tHeight+2)+"px";var number=document.createElement("div");number.className="galleryNumber";number.unselectable="on";var ntext=document.createTextNode("-");number.appendChild(ntext);var imageContainer=document.createElement("div");imageContainer.className="galleryImageContainer";imageContainer.unselectable="on";var image=new Image();image.src=this._blank;imageContainer.appendChild(image);var text=document.createElement("div");text.className="galleryText";text.unselectable="on";text.style.width=(this.getWidth()-100-this.getThumbMaxWidth())+"px";var title=document.createElement("h3");var ttext=document.createTextNode("-");title.appendChild(ttext);title.unselectable="on";text.appendChild(title);var comment=document.createElement("p");var ctext=document.createTextNode("-");comment.appendChild(ctext);comment.unselectable="on";text.appendChild(comment);frame.appendChild(number);frame.appendChild(imageContainer);frame.appendChild(text);return frame;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/types/QxColor.js b/swat/style/qooxdoo/widgets/types/QxColor.js
new file mode 100644
index 0000000000..bb72695386
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/types/QxColor.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxColor(v){var v1=QxColor.read(v);var v2=QxColor.RGB2CSS(v1);return v2;};QxColor.m_hex=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];QxColor.r_hex3 = /^#[0-9A-Fa-f]{3}$/;QxColor.r_hex6 = /^#[0-9A-Fa-f]{6}$/;QxColor.r_cssrgb = /^rgb\([0-9]{1,3}\.{0,1}[0-9]*,\s*[0-9]{1,3}\.{0,1}[0-9]*,\s*[0-9]{1,3}\.{0,1}[0-9]*\)$/;QxColor.r_rgb = /^[0-9]{1,3},[0-9]{1,3},[0-9]{1,3}$/;QxColor.r_number = /^[0-9]{1,3}\.{0,1}[0-9]*$/;QxColor.r_percent = /^[0-9]{1,3}\.{0,1}[0-9]*%$/;QxColor.os=["activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext"];QxColor.names={white:[255,255,255],black:[0,0,0],grey:[128,128,128],gray:[128,128,128],red:[255,0,0],green:[0,128,0],blue:[0,0,255],yellow:[255,255,0],orange:[255,165,0],purple:[128,0,128],cyan:[0,255,255],magenta:[255,0,255]
+};QxColor.read=function(v){if(v==null||v==""){return null;}else if(v=="transparent"){return v;}else if(typeof v=="object"){if(typeof v.length=="undefined"||v.length==0)throw new Error("Malformed Object");if(v.length==1)return[v[0],v[0],v[0]];else if(v.length==3)return v;else throw new Error("Malformed Object");}else if(v=="false"||v==false){return[0,0,0];}else if(v=="true"||v==true){return[255,255,255];}else if(typeof QxColor.names[v]=="object"){return QxColor.names[v];}else if(QxColor.os.contains(v.toString().toLowerCase())){return v;}else if(QxColor.r_hex3.test(v)){var r=[];var s;v=v.toUpperCase();for(var i=0;i<3;i++){s=QxColor.m_hex.indexOf(v.charAt(i+1));r[i]=(s*16)+s;};return r;}else if(QxColor.r_hex6.test(v)){var r=[];var s1,s2;v=v.toUpperCase();for(var i=0;i<3;i++){s1=QxColor.m_hex.indexOf(v.charAt((i*2)+1));s2=QxColor.m_hex.indexOf(v.charAt((i*2)+2));r[i]=(s1*16)+s2;};return r;}else if(QxColor.r_cssrgb.test(v)||QxColor.r_rgb.test(v)){if(QxColor.r_cssrgb.test(v)){v=v.substring(4,v.length-1);};v = v.split(/,\s*/);for(var i=0;i<3;i++){v[i]=Math.round(v[i]);if(v[i]>255||v[i]<0){throw new Error("Malformed RGB color value");};};return v;}else if(QxColor.r_number.test(v)){v=Math.round(parseFloat(v));if(isNaN(v)){throw new Error("Malformed numeric color value");};return[v,v,v];}else if(QxColor.r_percent.test(v)){v1=Math.round(255*parseFloat(v.replace("%",""))/100);if(v>255||v<0){throw new Error("Malformed percent color value");};return[v,v,v];};QxDebug("QxColor","Failed to read color value:"+v);return[0,0,0];};QxColor.RGB2CSS=function(){if(arguments.length==3){return "rgb("+arguments[0]+","+arguments[1]+","+arguments[2]+")";}else if(arguments.length==1){if(typeof arguments[0]=="string")return arguments[0];else if(arguments[0]==null)return "";else return "rgb("+arguments[0][0]+","+arguments[0][1]+","+arguments[0][2]+")";};return;};QxColor.RGB2HSB=function(r,g,b){var hue,saturation,brightness;r=parseFloat(r);g=parseFloat(g);b=parseFloat(b);var hsbvals=new Array(3);var cmax=(r>g)?r:g;if(b>cmax)cmax=b;var cmin=(r<g)?r:g;if(b<cmin)cmin=b;brightness=cmax/255.0;if(cmax!=0){saturation=(cmax-cmin)/cmax;}else {saturation=0;};if(saturation==0){hue=0;}else {var redc=(cmax-r)/(cmax-cmin);var greenc=(cmax-g)/(cmax-cmin);var bluec=(cmax-b)/(cmax-cmin);if(r==cmax){hue=bluec-greenc;}else if(g==cmax){hue=2.0+redc-bluec;}else {hue=4.0+greenc-redc;};hue=hue/6.0;if(hue<0)hue=hue+1.0;};hsbvals[0]=Math.round(hue*360);hsbvals[1]=Math.round(saturation*100);hsbvals[2]=Math.round(brightness*100);return hsbvals;};QxColor.HSB2RGB=function(h,s,b){var i,f,p,q,t,retval;h=parseFloat(h/360);s=parseFloat(s/100);b=parseFloat(b/100);if(h>=1.0)h %=1.0;if(s>1.0)s=1.0;if(b>1.0)b=1.0;var tov=Math.floor(255*b);if(s==0.0){retval=new Array(tov,tov,tov);}else {h*=6.0;i=Math.floor(h);f=h-i;p=Math.floor(tov*(1.0-s));q=Math.floor(tov*(1.0-(s*f)));t=Math.floor(tov*(1.0-(s*(1.0-f))));if(i==0)retval=new Array(tov,t,p);if(i==1)retval=new Array(q,tov,p);if(i==2)retval=new Array(p,tov,t);if(i==3)retval=new Array(p,q,tov);if(i==4)retval=new Array(t,p,tov);if(i==5)retval=new Array(tov,p,q);};return retval;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/types/QxInteger.js b/swat/style/qooxdoo/widgets/types/QxInteger.js
new file mode 100644
index 0000000000..aca33b4a30
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/types/QxInteger.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxInteger(v){return Math.round(QxNumber(v));}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/types/QxNumber.js b/swat/style/qooxdoo/widgets/types/QxNumber.js
new file mode 100644
index 0000000000..4c42444893
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/types/QxNumber.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxNumber(v){if(typeof v=="number"){return v;}else if(typeof v=="string"){if(v=="true"||v=="false"){return Number(Boolean(v));}else {return parseFloat(v);};}else if(typeof v=="boolean"){return Number(v);}else {return NaN;};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/types/QxString.js b/swat/style/qooxdoo/widgets/types/QxString.js
new file mode 100644
index 0000000000..bdeaad5c81
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/types/QxString.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxString(v){return String(v);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/types/QxTextile.js b/swat/style/qooxdoo/widgets/types/QxTextile.js
new file mode 100644
index 0000000000..037876c7ad
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/types/QxTextile.js
@@ -0,0 +1,4 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTextile(s){var r=s;qtags=[
+["\\*","strong"],["\\?\\?","cite"],["\\+","ins"],["~","sub"],["\\^","sup"],["@","code"]
+];for(var i=0;i<qtags.length;i++){ttag=qtags[i][0];htag=qtags[i][1];re=new RegExp(ttag+"\\b(.+?)\\b"+ttag,"g");r=r.replace(re,"<"+htag+">"+"$1"+"</"+htag+">");};re=new RegExp("\\b_(.+?)_\\b","g");r=r.replace(re,"<em>$1</em>");re=new RegExp("[\s\n]-(.+?)-[\s\n]","g");r=r.replace(re,"<del>$1</del>");re=new RegExp('"\\b(.+?)\\(\\b(.+?)\\b\\)":([^\\s]+)','g');r=r.replace(re,'<a href="$3" title="$2">$1</a>');re=new RegExp('"\\b(.+?)\\b":([^\\s]+)','g');r=r.replace(re,'<a href="$2">$1</a>');re=new RegExp("!\\b(.+?)\\(\\b(.+?)\\b\\)!","g");r=r.replace(re,'<img src="$1" alt="$2">');re=new RegExp("!\\b(.+?)\\b!","g");r=r.replace(re,'<img src="$1">');re=new RegExp("(.*)\n([^#\*\n].*)","g");r=r.replace(re,"$1<br/>$2");re=new RegExp("\n<br/>","g");r=r.replace(re,"\n");lines=r.split("\n");nr="";for(var i=0;i<lines.length;i++){line = lines[i].replace(/\s*$/,"");changed=0;if (line.search(/^\s*bq\.\s+/) != -1){line = line.replace(/^\s*bq\.\s+/,"\t<blockquote>")+"</blockquote>";changed=1;};if (line.search(/^\s*h[1-6]\.\s+/) != -1){re=new RegExp("h([1-6])\.(.+)","g");line=line.replace(re,"<h$1>$2</h$1>");changed=1;};if (line.search(/^\s*\*\s+/) != -1){line = line.replace(/^\s*\*\s+/,"\t<liu>") + "</liu>";changed=1;};if (line.search(/^\s*#\s+/) != -1){line = line.replace(/^\s*#\s+/,"\t<lio>") + "</lio>";changed=1;};if (!changed && (line.replace(/\s/g,"").length > 0)){line="<p>"+line+"</p>";};lines[i]=line+"\n";};inlist=0;listtype="";for(var i=0;i<lines.length;i++){line=lines[i];if (inlist && listtype == "ul" && !line.match(/^\t<liu/)){line="</ul>\n"+line;inlist=0;};if (inlist && listtype == "ol" && !line.match(/^\t<lio/)){line="</ol>\n"+line;inlist=0;};if (!inlist && line.match(/^\t<liu/)){line="<ul>"+line;inlist=1;listtype="ul";};if (!inlist && line.match(/^\t<lio/)){line="<ol>"+line;inlist=1;listtype="ol";};lines[i]=line;};r=lines.join("\n");r = r.replace(/li[o|u]>/g, "li>");return r;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/types/QxVariable.js b/swat/style/qooxdoo/widgets/types/QxVariable.js
new file mode 100644
index 0000000000..31c1d6a1e0
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/types/QxVariable.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxVariable(v){return v;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxAtom.js b/swat/style/qooxdoo/widgets/widgets/QxAtom.js
new file mode 100644
index 0000000000..6603d5b6b2
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxAtom.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxAtom(vText,vIcon,vIconWidth,vIconHeight){QxWidget.call(this);this.setCanSelect(false);this.setWidth("auto");this.setHeight("auto");if(isValid(vText)){this.setText(vText);};if(isValid(vIcon)){this.setIcon(vIcon);if(isValid(vIconWidth)){this.setIconWidth(vIconWidth);};if(isValid(vIconHeight)){this.setIconHeight(vIconHeight);};};};QxAtom.extend(QxWidget,"QxAtom");QxAtom.addProperty({name:"text",type:String});QxAtom.addProperty({name:"icon",type:String});QxAtom.addProperty({name:"show",type:String,defaultValue:"both"});QxAtom.addProperty({name:"iconPosition",type:String,defaultValue:"left"});QxAtom.addProperty({name:"iconTextGap",type:Number,defaultValue:4});QxAtom.addProperty({name:"iconWidth",type:Number});QxAtom.addProperty({name:"iconHeight",type:Number});QxAtom.addProperty({name:"horizontalBlockAlign",type:String,defaultValue:"left"});QxAtom.addProperty({name:"verticalBlockAlign",type:String,defaultValue:"middle"});proto._c6=true;proto._c5=true;proto._c2=false;proto._c1=false;proto._f2=null;proto._f1=null;proto._modifyIcon=function(_b1,_b2,_b3,_b4){this._pureUpdateDisplayState();var o=this._f1;if(this._c1){if(o){o.setSource(_b1);o.setParent(this);}else if(this._wasVisible){this._e3Icon();};}else if(o){o.setParent(null);o.setSource(_b1);};return true;};proto._modifyText=function(_b1,_b2,_b3,_b4){this._pureUpdateDisplayState();var o=this._f2;if(this._c2){if(o){o.setHtml(_b1);o.setParent(this);}else if(this._wasVisible){this._e3Text();};}else if(o){o.setParent(null);o.setHtml(_b1);};return true;};proto._modifyShow=function(_b1,_b2,_b3,_b4){this._pureUpdateDisplayState();if(this._wasVisible){if(this._f2){this._f2.setParent(this._c2?this:null);};if(this._f1){this._f1.setParent(this._c1?this:null);};if(this._f2&&this._f1){if(this.getWidth()!="auto"){this._d1("show");};if(this.getHeight()!="auto"){this._d2("show");};};if(!this._f2&&this._c2){this._e3Text();};if(!this._f1&&this._c1){this._e3Icon();};};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){this._addCssClassName("QxAtomBase");if(this._c1&&!this._f1){this._e3Icon();};if(this._c2&&!this._f2){this._e3Text();};};return QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setEnabled(_b1);};if(this._f2){this._f2.setEnabled(_b1);};return QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};proto._modifyIconPosition=function(_b1,_b2,_b3,_b4){if(!this._wasVisible){return true;};if(1==1||this._c2&&this._c1){switch(_b1){case "left":if(_b2=="right"){return this._d1("icon-position");};break;case "right":if(_b2=="left"){return this._d1("icon-position");};break;case "top":if(_b2=="bottom"){return this._d2("icon-position");};break;case "bottom":if(_b2=="top"){return this._d2("icon-position");};break;};if(this.getWidth()=="auto"){this._setChildrenDependWidth(this,"icon-position");}else {this._d1("icon-position");};if(this.getHeight()=="auto"){this._setChildrenDependHeight(this,"icon-position");}else {this._d2("icon-position");};};return true;};proto._modifyIconTextGap=function(_b1,_b2,_b3,_b4){if(!this._wasVisible){return true;};if(this._c2&&this._c1){switch(this.getIconPosition()){case "left":case "right":return this.getWidth()=="auto"?this._setChildrenDependWidth(this,"icon-text-gap"):this._d1("icon-text-gap");case "top":case "bottom":return this.getHeight()=="auto"?this._setChildrenDependHeight(this,"icon-text-gap"):this._d2("icon-text-gap");};};return true;};proto._modifyHorizontalBlockAlign=function(_b1,_b2,_b3,_b4){if(!this._wasVisible||this.getWidth()=="auto"){return true;};return this._d1("align");};proto._modifyVerticalBlockAlign=function(_b1,_b2,_b3,_b4){if(!this._wasVisible||this.getHeight()=="auto"){return true;};return this._d2("align");};proto._e3Text=function(){var t=this._f2=new QxContainer(this.getText());t.setAnonymous(true);t.setEnabled(this.isEnabled());t.setTimerCreate(false);t.setParent(this);};proto._e3Icon=function(){var i=this._f1=new QxImage(this.getIcon(),this.getIconWidth(),this.getIconHeight());i.setAnonymous(true);i.setEnabled(this.isEnabled());i.setTimerCreate(false);i.setParent(this);};proto._pureUpdateDisplayState=function(){switch(this.getShow()){case "both":this._c6=this._c5=true;this._c1=this._hasIcon();this._c2=this._hasText();break;case "none":this._c6=this._c5=this._c1=this._c2=false;break;case "icon":this._c5=true;this._c1=this._hasIcon();this._c6=this._c2=false;break;case "text":this._c6=true;this._c2=this._hasText();this._c5=this._c1=false;break;default:throw new Error("Invalid value for show property:"+this.getShow());};};proto._hasText=function(){return isValid(this.getText());};proto._hasIcon=function(){return isValid(this.getIcon());};proto._setChildrenDependWidth=function(_e4,_e5){if(this._c1&&_e4==this._f1&&_e5=="unload"){return true;};var newWidth=this._d5Width(_e4,_e5);if(this._widthMode=="inner"&&this._widthModeValue==newWidth){if((_e5=="load"||_e5=="append-child")&&(_e4==this._f2||_e4==this._f1)){return this._d1(_e5);};}else {this.setInnerWidth(newWidth,null,true);};return true;};proto._setChildrenDependHeight=function(_e4,_e5){if(this._c1&&_e4==this._f1&&_e5=="unload"){return true;};var newHeight=this._d5Height(_e4,_e5);if(this._heightMode=="inner"&&this._heightModeValue==newHeight){if((_e5=="load"||_e5=="append-child")&&(_e4==this._f2||_e4==this._f1)){return this._d2(_e5);};}else {this.setInnerHeight(newHeight,null,true);};return true;};proto._d5Width=function(){return this._d5Helper("Width","left","right");};proto._d5Height=function(){return this._d5Helper("Height","top","bottom");};proto._d5Helper=function(vNameRangeUp,vNameStart,vNameStop){if(this._c2&&this._f2&&this._f2.getParent()!=this){return null;};if(this._c1&&this._f1&&this._f1.getParent()!=this){return null;};if(this._c1&&(!this._f1||(!this._f1.getLoaded()&&isInvalid(this._f1["get"+vNameRangeUp]())))){return null;};if(this._c2&&this._c1){switch(this.getIconPosition()){case vNameStart:case vNameStop:return this._f2["getAny"+vNameRangeUp]()+this.getIconTextGap()+this._f1["getAny"+vNameRangeUp]();default:return Math.max(Math.max(this._f2["getAny"+vNameRangeUp](),this._f1["getAny"+vNameRangeUp]()),0);};}else if(this._c2){return this._f2["getAny"+vNameRangeUp]();}else if(this._c1){return this._f1["getAny"+vNameRangeUp]();}else {return 0;};};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");var ch=this._a2;var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc!=this._f2&&chc!=this._f1){chc._renderHorizontal("parent");};};};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");var ch=this._a2;var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc!=this._f2&&chc!=this._f1){chc._renderVertical("parent");};};};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};switch(_e5){case "position-and-size":case "position":case "size":break;default:if(this.getWidth()=="auto"){return this._setChildrenDependWidth(vModifiedChild,_e5);}else {this._d1(_e5);};};QxWidget.prototype._childOuterWidthChanged.call(this,vModifiedChild,_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};switch(_e5){case "position-and-size":case "position":case "size":break;default:if(this.getHeight()=="auto"){return this._setChildrenDependHeight(vModifiedChild,_e5);}else {this._d2(_e5);};};QxWidget.prototype._childOuterHeightChanged.call(this,vModifiedChild,_e5);};proto._d1=function(_e5){return this._layoutInternalWidgetsHelper(_e5,"Width","Horizontal","left","right","Left");};proto._d2=function(_e5){return this._layoutInternalWidgetsHelper(_e5,"Height","Vertical","top","bottom","Top");};proto._layoutInternalWidgetsHelper=function(_e5,vNameRangeUp,vDirection,vNameStart,vNameStop,vPaddingStartUp){try{var vTextPos=0;var vIconPos=0;var vBoxSize;if(this._c2&&this._c1){if(!this._f2||!this._f1){return;};var vTextSize=this._f2["getAny"+vNameRangeUp]();var vIconSize=this._f1["getAny"+vNameRangeUp]();switch(this.getIconPosition()){case vNameStart:vTextPos=vIconSize+this.getIconTextGap();vBoxSize=vTextPos+vTextSize;break;case vNameStop:vIconPos=vTextSize+this.getIconTextGap();vBoxSize=vIconPos+vIconSize;break;default:if(vTextSize>vIconSize){vIconPos=(vTextSize-vIconSize)/2;}else {vTextPos=(vIconSize-vTextSize)/2;};vBoxSize=Math.max(vTextSize,vIconSize);};}else if(this._c2){vBoxSize=this._f2["getAny"+vNameRangeUp]();}else if(this._c1){vBoxSize=this._f1["getAny"+vNameRangeUp]();}else {return;};var vBoxPos=this["getComputedPadding"+vPaddingStartUp]();switch(this["get"+vDirection+"BlockAlign"]()){case "center":case "middle":vBoxPos+=(this["getInner"+vNameRangeUp]()-vBoxSize)/2;break;case "right":case "bottom":vBoxPos+=this["getInner"+vNameRangeUp]()-vBoxSize;break;};vIconPos+=vBoxPos;vTextPos+=vBoxPos;if(this._f1){this._f1["_d3"+vDirection](vIconPos);};if(this._f2){this._f2["_d3"+vDirection](vTextPos);};}catch(ex){throw new Error("Failed to internal render widgets:"+ex);};return true;};proto._onnewchild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"append-child"):this._d1("append-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"append-child"):this._d2("append-child");};proto._onremovechild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"remove-child"):this._d1("remove-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"remove-child"):this._d2("remove-child");};proto._cloneRecursive=function(cloneInstance){var ch=this.getChildren();var chl=ch.length;var chc;var cloneChild;for(var i=0;i<chl;i++){chc=ch[i];if(chc!=this._f1&&chc!=this._f2){cloneChild=chc.clone(true);cloneInstance.add(cloneChild);};};};proto.getPreferredWidth=function(){if(this.getWidth()=="auto"){if(!this._wasVisible){this._renderHorizontal("initial");};return this._pixelof_width;};if(this._preferred_width==null&&this.getChildrenLength()>0){this._preferred_width=this._d5Width()+this.getComputedPaddingLeft()+this.getComputedPaddingRight()+this.getComputedInsetLeft()+this.getComputedInsetRight();};return this._preferred_width;};proto.getPreferredHeight=function(){if(this.getHeight()=="auto"){if(!this._wasVisible){this._renderVertical("initial");};return this._pixelof_height;};if(this._preferred_height==null&&this.getChildrenLength()>0){this._preferred_height=this._d5Height()+this.getComputedPaddingTop()+this.getComputedPaddingBottom()+this.getComputedInsetTop()+this.getComputedInsetBottom();};return this._preferred_height;};proto.dispose=function(){if(this.getDisposed()){return true;};if(this._f1){this._f1.dispose();this._f1=null;};if(this._f2){this._f2.dispose();this._f2=null;};this._c6=this._c5=this._c2=this._c1=null;return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js
new file mode 100644
index 0000000000..7a9d4c171e
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBarSelectorBar(){QxWidget.call(this);this._manager=new QxRadioButtonManager();};QxBarSelectorBar.extend(QxWidget,"QxBarSelectorBar");proto.getManager=function(){return this._manager;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vClasses=this.getCssClassName();if(isValidString(_b2)){vClasses=vClasses.remove(this.classname+"-"+_b2.toFirstUp()," ");};if(isValidString(_b1)){vClasses=vClasses.add(this.classname+"-"+_b1.toFirstUp()," ");};this.setCssClassName(vClasses,_b4);return this._applyState();};proto._applyState=function(){this._omitRendering();this["_applyState_"+this.getState()]();this._activateRendering();return true;};proto._applyState_top=function(){this.setBottom(null);this.setWidth(null);this.setHeight("auto");this.setLeft(0);this.setRight(0);this.setTop(0);};proto._applyState_right=function(){this.setLeft(null);this.setHeight(null);this.setWidth("auto");this.setRight(0);this.setBottom(0);this.setTop(0);};proto._applyState_bottom=function(){this.setWidth(null);this.setTop(null);this.setHeight("auto");this.setLeft(0);this.setRight(0);this.setBottom(0);};proto._applyState_left=function(){this.setRight(null);this.setHeight(null);this.setWidth("auto");this.setLeft(0);this.setBottom(0);this.setTop(0);};proto._layoutInternalWidgetsRunning=false;proto._layoutInternalWidgets=proto._d1=function(_e5){if(this._layoutInternalWidgetsRunning){return true;};var vPane=this.getParent().getPane();if(!this.isCreated()||!vPane.isCreated()){return true;};this._layoutInternalWidgetsRunning=true;var ch=this.getChildren();var chl=ch.length;var chc;switch(this.getState()){case "left":case "right":for(var i=0;i<chl;i++){chc=ch[i];chc._omitRendering();chc.setWidth(null);chc.setTop(null);chc.setBottom(null);chc.setLeft(0);chc.setRight(0);chc.setHeight("auto");chc._innerWidthChanged();chc._innerHeightChanged();chc._activateRendering();};break;default:for(var i=0;i<chl;i++){chc=ch[i];chc._omitRendering();chc.setLeft(null);chc.setRight(null);chc.setHeight(null);chc.setTop(0);chc.setBottom(0);chc.setWidth("auto");chc._innerWidthChanged();chc._innerHeightChanged();chc._activateRendering();};break;};this._layoutInternalWidgetsRunning=false;};proto._d2=function(_e5){return;};proto._onnewchild=function(otherObject){this._d1("append-child");};proto._onremovechild=function(otherObject){this._d1("remove-child");};proto._innerHeightChanged=function(){this._d4Height();this._d1("inner-height");};proto._innerWidthChanged=function(){this._d4Width();};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(this._layoutInternalWidgetsRunning){return;};return !this._wasVisible?true:this.getWidth()=="auto"?this._setChildrenDependWidth(vModifiedChild,_e5):this._d1(_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(this._layoutInternalWidgetsRunning){return;};return !this._wasVisible?true:this.getHeight()=="auto"?this._setChildrenDependHeight(vModifiedChild,_e5):this._d2(_e5);};proto.dispose=function(){if(this.getDisposed()){return;};if(this._manager){this._manager.dispose();this._manager=null;};QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js
new file mode 100644
index 0000000000..5aa4612267
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBarSelectorButton(vText,vIcon,vIconWidth,vIconHeight,vChecked){QxTab.call(this,vText,vIcon,vIconWidth,vIconHeight,vChecked);this.setIconPosition("top");this.setHorizontalBlockAlign("center");this.setVerticalBlockAlign("middle");};QxBarSelectorButton.extend(QxTab,"QxBarSelectorButton");proto._g5=function(e){switch(this.getParent().getState()){case "top":case "bottom":switch(e.getKeyCode()){case QxKeyEvent.keys.left:var vPrevious=true;break;case QxKeyEvent.keys.right:var vPrevious=false;break;default:return;};break;case "left":case "right":switch(e.getKeyCode()){case QxKeyEvent.keys.up:var vPrevious=true;break;case QxKeyEvent.keys.down:var vPrevious=false;break;default:return;};break;default:return;};var vChild=vPrevious?this.isFirstChild()?this.getParent().getLastChild():this.getPreviousSibling():this.isLastChild()?this.getParent().getFirstChild():this.getNextSibling();vChild.setFocused(true);vChild.setChecked(true);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js
new file mode 100644
index 0000000000..c78277a34c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBarSelectorFrame(){QxWidget.call(this);this._bar=new QxBarSelectorBar;this._pane=new QxBarSelectorPane;this.setPlaceBarOn("top");this.add(this._bar,this._pane);this._bar.addEventListener("resize",this._pane._applyState,this._pane);};QxBarSelectorFrame.extend(QxWidget,"QxBarSelectorFrame");QxBarSelectorFrame.addProperty({name:"placeBarOn",type:String});QxBarSelectorFrame.paneMap={top:"bottom",right:"left",bottom:"top",left:"right"};proto._modifyPlaceBarOn=function(_b1,_b2,_b3,_b4){this._bar.setState(_b1,_b4);this._pane.setState(QxBarSelectorFrame.paneMap[_b1],_b4);return true;};proto.getPane=function(){return this._pane;};proto.getBar=function(){return this._bar;};proto.dispose=function(){if(this.getDisposed()){return true;};if(this._bar){this._bar.dispose();this._bar=null;};if(this._pane){this._pane.dispose();this._pane=null;};return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js
new file mode 100644
index 0000000000..ee4c0efd24
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBarSelectorPage(vTab){QxTabPage.call(this,vTab);};QxBarSelectorPage.extend(QxTabPage,"QxBarSelectorPage"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js
new file mode 100644
index 0000000000..822474cc77
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBarSelectorPane(){QxWidget.call(this);};QxBarSelectorPane.extend(QxWidget,"QxBarSelectorPane");proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._modifyState=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._applyState=function(){var vParent=this.getParent();if(!vParent||!this.isCreated()){return true;};var vBar=vParent.getBar();if(!vBar.isCreated()){return true;};var vTop=0,vRight=0,vBottom=0,vLeft=0;switch(this.getState()){case "top":vBottom=vBar.getComputedBoxHeight()-this.getComputedBorderBottom();break;case "right":vLeft=vBar.getComputedBoxWidth()-this.getComputedBorderLeft();break;case "left":vRight=vBar.getComputedBoxWidth()-this.getComputedBorderRight();break;default:vTop=vBar.getComputedBoxHeight()-this.getComputedBorderTop();};this.setTop(vTop);this.setRight(vRight);this.setBottom(vBottom);this.setLeft(vLeft);return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBlocker.js b/swat/style/qooxdoo/widgets/widgets/QxBlocker.js
new file mode 100644
index 0000000000..b3c8fcda18
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBlocker.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBlocker(){QxWidget.call(this);this.setLocation(0,0);this.setRight(0);this.setBottom(0);this.setZIndex(1e6);if((new QxClient).isMshtml()){this.setBackgroundImage((new QxImageManager).getBlank());};};QxBlocker.extend(QxWidget,"QxBlocker"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxBoxLayout.js b/swat/style/qooxdoo/widgets/widgets/QxBoxLayout.js
new file mode 100644
index 0000000000..9d3e7bb47b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxBoxLayout.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxBoxLayout(vOrientation,vBlockAlign,vChildrenAlign){QxLayout.call(this);this.setWidth("auto");this.setHeight("auto");if(isValid(vOrientation)){this.setOrientation(vOrientation);};if(isValid(vBlockAlign)){this.getOrientation()=="horizontal"?this.setHorizontalBlockAlign(vBlockAlign):this.setVerticalChildrenAlign(vChildrenAlign);};if(isValid(vChildrenAlign)){this.getOrientation()=="horizontal"?this.setHorizontalChildrenAlign(vChildrenAlign):this.setVerticalChildrenAlign(vChildrenAlign);};};QxBoxLayout.extend(QxLayout,"QxBoxLayout");QxBoxLayout.addProperty({name:"horizontalBlockAlign",type:String,defaultValue:"left"});QxBoxLayout.addProperty({name:"verticalBlockAlign",type:String,defaultValue:"top"});QxBoxLayout.addProperty({name:"orientation",type:String,defaultValue:"horizontal"});QxBoxLayout.addProperty({name:"horizontalChildrenAlign",type:String,defaultValue:"center"});QxBoxLayout.addProperty({name:"verticalChildrenAlign",type:String,defaultValue:"middle"});QxBoxLayout.addProperty({name:"spacing",type:Number,defaultValue:0});QxBoxLayout.addProperty({name:"ignoreOrthogonalMargin",type:Boolean,defaultValue:false});proto._d1=function(){switch(this.getOrientation()){case "horizontal":var inner=this.getInnerWidth();var sum=0;var ch=this.getChildren();var chl=ch.length;var chc;var w;var spacing=this.getSpacing();var p=[];for(var i=0;i<chl;i++){p.push(sum);chc=ch[i];sum+=chc.getMarginLeft()+chc.getAnyWidth()+chc.getMarginRight()+spacing;};sum-=spacing;var startpos=this.getPaddingLeft();switch(this.getHorizontalBlockAlign()){case "center":startpos+=(inner-sum)/2;break;case "right":startpos+=inner-sum;break;};for(var i=0;i<chl;i++){ch[i]._d3Horizontal(startpos+p[i]);};break;case "vertical":var inner=this.getInnerWidth();var ch=this.getChildren();var chl=ch.length;var chc;var glob=this.getHorizontalChildrenAlign();var ign=this.getIgnoreOrthogonalMargin();var cust,pos;for(var i=0;i<chl;i++){chc=ch[i];cust=chc.getHorizontalAlign();pos=this.getPaddingLeft();switch(isValidString(cust)?cust:glob){case "right":pos+=inner-chc.getAnyWidth();break;case "center":pos+=Math.floor((inner-chc.getAnyWidth())/2);break;};if(ign){pos-=chc.getMarginLeft();};chc._d3Horizontal(pos);};break;};return true;};proto._d2=function(){switch(this.getOrientation()){case "horizontal":var inner=this.getInnerHeight();var ch=this.getChildren();var chl=ch.length;var chc;var glob=this.getVerticalChildrenAlign();var ign=this.getIgnoreOrthogonalMargin();var cust,pos;for(var i=0;i<chl;i++){chc=ch[i];cust=chc.getVerticalAlign();pos=this.getPaddingTop();switch(isValidString(cust)?cust:glob){case "bottom":pos+=inner-chc.getAnyHeight();break;case "middle":pos+=Math.floor((inner-chc.getAnyHeight())/2);break;};if(ign){pos-=chc.getMarginTop();};chc._d3Vertical(pos);};break;case "vertical":var inner=this.getInnerHeight();var sum=0;var ch=this.getChildren();var chl=ch.length;var chc;var h;var spacing=this.getSpacing();var p=[];for(var i=0;i<chl;i++){p.push(sum);chc=ch[i];sum+=chc.getMarginTop()+chc.getAnyHeight()+chc.getMarginBottom()+spacing;};sum-=spacing;var startpos=this.getPaddingTop();switch(this.getVerticalBlockAlign()){case "middle":startpos+=(inner-sum)/2;break;case "bottom":startpos+=inner-sum;break;};for(var i=0;i<chl;i++){ch[i]._d3Vertical(startpos+p[i]);};break;};return true;};proto._modifyOrientation=function(_b1,_b2,_b3,_b4){if(this._wasVisible){this.getWidth()=="auto"?this._setChildrenDependWidth(this,"orientation"):this._d1("orientation");this.getHeight()=="auto"?this._setChildrenDependHeight(this,"orientation"):this._d2("orientation");};return true;};proto._modifySpacing=function(_b1,_b2,_b3,_b4){if(this._wasVisible){if(this.getOrientation()=="horizontal"){this.getWidth()=="auto"?this._setChildrenDependWidth(null,"spacing"):this._d1("spacing");}else {this.getHeight()=="auto"?this._setChildrenDependHeight(null,"spacing"):this._d2("spacing");};};return true;};proto._modifyIgnoreOrthogonalMargin=function(_b1,_b2,_b3,_b4){if(this._wasVisible){if(this.getOrientation()!="horizontal"){this._d1("spacing");}else {this._d2("spacing");};};return true;};proto._modifyHorizontalBlockAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d1("block-align"):true;};proto._modifyVerticalBlockAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d2("block-align"):true;};proto._modifyHorizontalChildrenAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d1("children-align"):true;};proto._modifyVerticalChildrenAlign=function(_b1,_b2,_b3,_b4){return this._wasVisible?this._d2("children-align"):true;};proto._d5Width=function(_e4,_e5){if(this.getOrientation()=="vertical"){return QxWidget.prototype._d5Width.call(this,_e4,_e5);};var w=0;var spacing=this.getSpacing();var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];w+=chc.getMarginLeft()+chc.getAnyWidth()+chc.getMarginRight()+spacing;};return w-spacing;};proto._d5Height=function(_e4,_e5){if(this.getOrientation()=="horizontal"){return QxWidget.prototype._d5Height.call(this,_e4,_e5);};var h=0;var spacing=this.getSpacing();var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];h+=chc.getMarginTop()+chc.getAnyHeight()+chc.getMarginBottom()+spacing;};return h-spacing;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxButton.js b/swat/style/qooxdoo/widgets/widgets/QxButton.js
new file mode 100644
index 0000000000..4c4c8def07
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxButton(vText,vIcon){QxAtom.call(this,vText,vIcon);this.setCanSelect(false);this.setTabIndex(1);this.setBorder(QxBorder.presets.outset);this.addEventListener("mouseover",this._onmouseover,this);this.addEventListener("mouseout",this._onmouseout,this);this.addEventListener("mousedown",this._g1,this);this.addEventListener("mouseup",this._g2,this);this.addEventListener("keydown",this._g4,this);this.addEventListener("click",this._g3,this);};QxButton.extend(QxAtom,"QxButton");proto._onmouseover=function(e){if(e.getActiveTarget()!=this){return;};this.setState(this._pressed?"pressed":"hover");e.stopPropagation();};proto._onmouseout=function(e){if(e.getActiveTarget()!=this){return;};this.setState(null);e.stopPropagation();};proto._g1=function(e){this._pressed=true;this.setCapture(true);this.setState("pressed");};proto._g2=function(e){delete this._pressed;this.setCapture(false);this.setState(null);e.stopPropagation();};proto._g4=function(e){if(e.getKeyCode()==QxKeyEvent.keys.enter){this.execute();};};proto._g3=function(e){this.execute();};proto._modifyState=function(_b1,_b2,_b3,_b4){switch(_b1){case "pressed":this.setBorder(QxBorder.presets.inset);break;case "hover":break;default:this.setBorder(QxBorder.presets.outset);};return QxAtom.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mouseover",this._onmouseover,this);this.removeEventListener("mouseout",this._onmouseout,this);this.removeEventListener("mousedown",this._g1,this);this.removeEventListener("mouseup",this._g2,this);return QxAtom.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxCheckBox.js b/swat/style/qooxdoo/widgets/widgets/QxCheckBox.js
new file mode 100644
index 0000000000..33e6d5497a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxCheckBox.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxCheckBox(vText,vValue,vName,vChecked){QxAtom.call(this,vText);this.setTabIndex(1);if(isValid(vValue)){this.setValue(vValue);};if(isValid(vName)){this.setName(vName);};if(isValid(vChecked)){this.setChecked(vChecked);};this.addEventListener("click",this._g3);this.addEventListener("keydown",this._g4);this.addEventListener("keyup",this._g5);};QxCheckBox.extend(QxAtom,"QxCheckBox");QxCheckBox.removeProperty({name:"icon"});QxCheckBox.addProperty({name:"name",type:String});QxCheckBox.addProperty({name:"value",type:String});QxCheckBox.addProperty({name:"checked",type:Boolean,defaultValue:false,getAlias:"isChecked"});proto._c1=true;proto._modifyIcon=null;proto._hasIcon=function(){return true;};proto._e3Icon=function(){var i=this._f1=new QxInputCheckIcon();i.setType("checkbox");i.setChecked(this.isChecked());i.setEnabled(this.isEnabled());i.setAnonymous(true);i.setParent(this);};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setChecked(_b1);};return true;};if((new QxClient).isMshtml()){proto._modifyVisible=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);if(this._f1&&_b1){this._f1.getElement().checked=this.getChecked();};return true;};};proto._g3=function(e){var t=e.getDomTarget();this.setChecked(t.tagName=="input"?t.checked:!this.isChecked());};proto._g4=function(e){if(e.getKeyCode()==QxKeyEvent.keys.enter&&!e.getAltKey()){this.setChecked(this._f1?!this._f1.isChecked():!this.isChecked());};};proto._g5=function(e){if(e.getKeyCode()==QxKeyEvent.keys.space){this.setChecked(this._f1?!this._f1.isChecked():!this.isChecked());};};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("click",this._g3);this.removeEventListener("keydown",this._g4);this.removeEventListener("keyup",this._g5);return QxAtom.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxClientDocument.js b/swat/style/qooxdoo/widgets/widgets/QxClientDocument.js
new file mode 100644
index 0000000000..60da8a147a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxClientDocument.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxClientDocument(clientWindow){QxWidget.call(this);this._window=clientWindow;this._document=this._window.getElement().document;this.setElement(this._document.body);this._lastBodyWidth=this._document.body.offsetWidth;this._lastBodyHeight=this._document.body.offsetHeight;this.addEventListener("resize",this._onresize);this.setTheme(this._themes[0]);this.setTabIndex(1);this._blocker=new QxBlocker;this._modalWidgets=[];this._modalNativeWindow=null;this._blocker.addEventListener("mousedown",function(e){if(this._modalNativeWindow){this._modalNativeWindow.focus();};},this);this._blocker.addEventListener("mouseup",function(e){if(this._modalNativeWindow){this._modalNativeWindow.focus();};},this);};QxClientDocument.extend(QxWidget,"QxClientDocument");QxClientDocument.addProperty({name:"theme",type:String});QxClientDocument.addProperty({name:"globalCursor",type:String});proto._renderInitialDone_horizontal=true;proto._renderInitialDone_vertical=true;proto._childOuterWidthChanged=function(vModifiedChild,_e5){};proto._childOuterHeightChanged=function(vModifiedChild,_e5){};proto._modifyParent=function(){return true;};proto._modifyVisible=function(){return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(!_b1){throw new Error("QxClientDocument does not accept invalid elements!");};_b1._QxWidget=this;this._applyStyleProperties(_b1,_b4);this._applyHtmlProperties(_b1,_b4);this._applyHtmlAttributes(_b1,_b4);this.setVisible(true,_b4);return true;};proto.getWindow=function(){return this._window;};proto.getTopLevelWidget=function(){return this;};proto.getDocumentElement=function(){return this._document;};proto.getEventManager=function(){return this._window.getEventManager();};proto.getFocusManager=function(){return this._window.getFocusManager();};proto._createElement=proto.createElementWrapper=function(){return true;};proto.isCreated=function(){return true;};proto.isFocusRoot=function(){return true;};proto.getFocusRoot=function(){return this;};proto.getToolTip=function(){return null;};proto.getParent=function(){return null;};proto.canGetFocus=function(){return true;};proto._visualizeBlur=function(){};proto._visualizeFocus=function(){};proto.block=function(activeWidget){this.add(this._blocker);if(typeof QxWindow=="function"&&activeWidget instanceof QxWindow){this._modalWidgets.push(activeWidget);var o=activeWidget.getZIndex();this._blocker.setZIndex(o);activeWidget.setZIndex(o+1);}else if(activeWidget instanceof QxNativeWindow){this._modalNativeWindow=activeWidget;this._blocker.setZIndex(1e7);};};proto.release=function(activeWidget){if(activeWidget){if(activeWidget instanceof QxNativeWindow){this._modalNativeWindow=null;}else {this._modalWidgets.remove(activeWidget);};};var l=this._modalWidgets.length;if(l==0){this.remove(this._blocker);}else {var oldActiveWidget=this._modalWidgets[l-1];var o=oldActiveWidget.getZIndex();this._blocker.setZIndex(o);oldActiveWidget.setZIndex(o+1);};};if((new QxClient).isMshtml()){proto._modifyGlobalCursor=function(_b1,_b2,_b3,_b4){var s=this._cursorStyleSheetElement;if(!s){s=this._cursorStyleSheetElement=this._document.createStyleSheet();};s.cssText=isValidString(_b1)?"*{cursor:"+_b1+" !important}":"";return true;};}else {proto._modifyGlobalCursor=function(_b1,_b2,_b3,_b4){var s=this._cursorStyleSheetElement;if(!s){s=this._cursorStyleSheetElement=this._document.createElement("style");s.type="text/css";this._document.getElementsByTagName("head")[0].appendChild(s);};var sheet=s.sheet;var l=sheet.cssRules.length;for(var i=l-1;i>=0;i--){sheet.deleteRule(i);};if(isValidString(_b1)){sheet.insertRule("*{cursor:"+_b1+" !important}",0);};return true;};};proto._onresize=function(e){if(typeof QxPopupManager=="function"){(new QxPopupManager).update();};var w=this._document.body.offsetWidth;var h=this._document.body.offsetHeight;if(this._lastBodyWidth!=w){this._lastBodyWidth=w;this._innerWidthChanged();};if(this._lastBodyHeight!=h){this._lastBodyHeight=h;this._innerHeightChanged();};};proto._themes=["Win9x","WinXP"];proto.getThemes=function(){return this._themes;};proto.registerTheme=function(v){if(this._themes.contains(v)){return;};this._themes.push(v);};proto.deregisterTheme=function(v){if(this.getTheme()==v){throw new Error("Could not remove currently selected theme!");};this._themes.remove(v);return true;};proto._modifyTheme=function(_b1,_b2,_b3,_b4){var vClass=this.getCssClassName();if(_b2){vClass=vClass.remove("QxTheme"+_b2," ");};if(_b1){vClass=vClass.add("QxTheme"+_b1," ");};this.setCssClassName(vClass);return true;};proto.add=function(){var a=arguments;var l=a.length;var t=a[l-1];if(typeof QxInline=="function"&&l>1&&typeof t=="string"){for(var i=0;i<l-1;i++){if(a[i]instanceof QxInline){a[i].setInlineNodeId(t);};a[i].setParent(this);};return this;}else {return QxWidget.prototype.add.apply(this,arguments);};};proto._getParentNodeForChild=function(otherObject){if(typeof QxInline=="function"&&otherObject instanceof QxInline){var inlineNodeId=otherObject.getInlineNodeId();if(isValid(inlineNodeId)){var inlineNode=document.getElementById(inlineNodeId);if(inlineNode){return inlineNode;};};throw new Error("Couldn't find target element for:"+otherObject);};return this.getElement();};proto.dispose=function(){if(this.getDisposed()){return;};this._window=this._document=null;QxWidget.prototype.dispose.call(this);return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js b/swat/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js
new file mode 100644
index 0000000000..13f444f7b7
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxColorPresetPopup(vTemplateColors,vHistoryColors,vColorSelector){QxPopup.call(this);var vField,vFieldSet;var vBase=QxColorPresetPopup.baseColors;var vLength=vBase.length;var vInnerWidth=(this._fieldWidth*vLength)+(this._fieldSpace*(vLength-1));var vFullWidth=vInnerWidth+(2*(this._padding+1));var vPreviewWidth=Math.round((vInnerWidth/2)-2);this.setWidth(230);this.setHeight(260);this.setBackgroundColor("ThreedFace");this.setBorder(QxBorder.presets.outset);this._baseColors=[];this._templateColors=[];this._historyColors=[];var vTop=this._padding;var o = this._auto = new QxAtom(QxColorPresetPopup.textAuto, "icons/16/iconthemes.png");o.setBorder(QxBorder.presets.outset);o.setPadding(2,4);o.setTop(vTop);o.setLeft(this._padding);o.setWidth(null);o.setRight(this._padding);o.setParent(this);o.addEventListener("mousedown",this._onautoclick,this);vTop+=30;vFieldSet=new QxFieldSet(QxColorPresetPopup.textBaseColors);vFieldSet.setTop(vTop);vFieldSet.setLeft(this._padding);vFieldSet.setRight(this._padding);vFieldSet.setMinHeight(45);for(var i=0;i<vLength;i++){vField=new QxWidget;vField.setBackgroundColor(vBase[i]);vField.setWidth(this._fieldWidth);vField.setHeight(this._fieldHeight);vField.setLeft(i*(this._fieldWidth+this._fieldSpace));vField.setTop(0);vField.setBorder(QxBorder.presets.inset);vField.addEventListener("mousedown",this._oncolorclick,this);vField.addEventListener("mouseover",this._oncolorover,this);vField.addEventListener("mouseout",this._oncolorout,this);vField.setParent(vFieldSet);this._baseColors.push(vField);};this.add(vFieldSet);vTop+=this._fieldHeight+this._fieldSpace+35;vFieldSet=new QxFieldSet(QxColorPresetPopup.textTemplateColors);vFieldSet.setTop(vTop);vFieldSet.setLeft(this._padding);vFieldSet.setRight(this._padding);vFieldSet.setMinHeight(45);for(var i=0;i<vLength;i++){vField=new QxWidget;if(vTemplateColors[i]){vField.setBackgroundColor(vTemplateColors[i]);};vField.setWidth(this._fieldWidth);vField.setHeight(this._fieldHeight);vField.setLeft(i*(this._fieldWidth+this._fieldSpace));vField.setTop(0);vField.setBorder(QxBorder.presets.inset);vField.addEventListener("mousedown",this._oncolorclick,this);vField.addEventListener("mouseover",this._oncolorover,this);vField.addEventListener("mouseout",this._oncolorout,this);vField.setParent(vFieldSet);this._templateColors.push(vField);};this.add(vFieldSet);vTop+=this._fieldHeight+this._fieldSpace+35;vFieldSet=new QxFieldSet(QxColorPresetPopup.textHistoryColors);vFieldSet.setTop(vTop);vFieldSet.setLeft(this._padding);vFieldSet.setRight(this._padding);vFieldSet.setMinHeight(45);for(var i=0;i<vLength;i++){vField=new QxWidget;if(vHistoryColors[i]){vField.setBackgroundColor(vHistoryColors[i]);};vField.setWidth(this._fieldWidth);vField.setHeight(this._fieldHeight);vField.setLeft(i*(this._fieldWidth+this._fieldSpace));vField.setTop(0);vField.setBorder(QxBorder.presets.inset);vField.addEventListener("mousedown",this._oncolorclick,this);vField.addEventListener("mouseover",this._oncolorover,this);vField.addEventListener("mouseout",this._oncolorout,this);vField.setParent(vFieldSet);this._historyColors.push(vField);};this.add(vFieldSet);vTop+=this._fieldHeight+this._fieldSpace+45;var o=this._previewOld=new QxAtom(QxColorPresetPopup.textSavedColor);o.setHeight(25);o.setWidth(105);o.setTop(vTop);o.setLeft(this._padding);o.setBorder(QxBorder.presets.inset);o.setPadding(2,4);o.setHorizontalBlockAlign("center");o.setParent(this);var o=this._previewNew=new QxAtom(QxColorPresetPopup.textNewColor);o.setHeight(25);o.setWidth(105);o.setTop(vTop);o.setRight(this._padding);o.setBorder(QxBorder.presets.inset);o.setPadding(2,4);o.setHorizontalBlockAlign("center");o.setParent(this);vTop+=30;var o = this._vStartComplex = new QxAtom(QxColorPresetPopup.textAllColors, "icons/16/kcoloredit.png");o.setBorder(QxBorder.presets.outset);o.setPadding(2,4);o.setTop(vTop);o.setLeft(this._padding);o.setWidth(null);o.setRight(this._padding);o.setParent(this);o.addEventListener("mousedown",function(e){vColorSelector.setSavedColor(this.getCurrentColor());vColorSelector.setCurrentColor(this.getCurrentColor()?this.getCurrentColor():[127,255,255]);vColorSelector.setTop(100);vColorSelector.setLeft(100);vColorSelector.setVisible(true);},this);};QxColorPresetPopup.extend(QxPopup,"QxColorPresetPopup");QxColorPresetPopup.addProperty({name:"currentColor",type:QxColor});QxColorPresetPopup.baseColors=["black",51,102,153,204,"white","red","green","blue","yellow","cyan","magenta"];QxColorPresetPopup.textBaseColors="Basic Colors";QxColorPresetPopup.textTemplateColors="Template Colors";QxColorPresetPopup.textHistoryColors="Previous Colors";QxColorPresetPopup.textSavedColor="Current";QxColorPresetPopup.textNewColor="New";QxColorPresetPopup.textAuto="Automatic";QxColorPresetPopup.textAllColors="All Colors...";proto._fieldWidth=14;proto._fieldHeight=14;proto._fieldSpace=2;proto._padding=4;proto._onautoclick=function(e){this.setCurrentColor(null);};proto._oncolorover=function(e){this._applyNewColor(e.getTarget().getBackgroundColor());};proto._oncolorout=function(e){this._previewNew.setBackgroundColor(null);this._previewNew.setColor(null);};proto._oncolorclick=function(e){var c=e.getTarget().getBackgroundColor();if(isValidString(c)){this.setCurrentColor(c);};this._oncolorout();};proto._modifyCurrentColor=function(_b1,_b2,_b3,_b4){return this._applyOldColor(_b1);};proto._applyOldColor=function(_b1){this._previewOld.setBackgroundColor(_b1);if(isValid(_b1)){var vTemp=QxColor.read(_b1);this._previewOld.setColor(this._useWhiteColor(QxColor.RGB2HSB(vTemp[0],vTemp[1],vTemp[2]))?"white":"black");};return true;};proto._applyNewColor=function(_b1){if(isValidString(_b1)){this._previewNew.setBackgroundColor(_b1);if(isValid(_b1)){var vTemp=QxColor.read(_b1);this._previewNew.setColor(this._useWhiteColor(QxColor.RGB2HSB(vTemp[0],vTemp[1],vTemp[2]))?"white":"black");};};};proto._useWhiteColor=function(v){return v[2]<70||(v[1]>50&&(v[0].inrange(200,280)||v[0].inrange(-1,40)));}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxColorSelector.js b/swat/style/qooxdoo/widgets/widgets/QxColorSelector.js
new file mode 100644
index 0000000000..65dee664a2
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxColorSelector.js
@@ -0,0 +1,5 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxColorSelector(vTemplateColors,vHistoryColors,vStandalone){this.standaloneMode=typeof vStandalone=="boolean"?vStandalone:false;this.webfixMode=vTemplateColors&&vHistoryColors;if(this.standaloneMode){QxPopup.call(this);this.add=this.addToWindow;this.setBorder(null);this.setPadding(10);this.setHeight(this.webfixMode?335:385);}else {QxWindow.call(this, "Color Selector", "icons/16/colors.png");this.setHeight(this.webfixMode?350:400);};this.classname="QxWindow";this.layoutOffset=this.webfixMode?224:196;this.setShowStatusbar(false);this.setShowMaximize(false);this.setShowMinimize(false);this.setResizeable(false);this.setUsePreferredWidthAsMin(false);this.setUsePreferredHeightAsMin(false);this.getPane().setPadding(8);this.setWidth(this.webfixMode?543:515);if(this.webfixMode){var vField;var vFieldSet;var vBase=QxColorSelector.baseColors;var vBaseLength=vBase.length;vFieldSet=new QxFieldSet(QxColorSelector.textBaseColors);vFieldSet.setTop(-6);vFieldSet.setWidth(216);vFieldSet.setHeight(45);vFieldSet.setMinHeight(45);for(var i=0;i<vBaseLength;i++){vField=new QxWidget;vField.setBackgroundColor(vBase[i]);vField.setBorder(QxBorder.presets.inset);vField.setWidth(14);vField.setHeight(14);vField.setLeft(i*16);vField.setTop(0);vField.addEventListener("click",this._onpaletteclick,this);vFieldSet.add(vField);};this.add(vFieldSet);vFieldSet=new QxFieldSet(QxColorSelector.textTemplateColors);vFieldSet.setTop(41);vFieldSet.setWidth(216);vFieldSet.setHeight(45);vFieldSet.setMinHeight(45);for(var i=0;i<vBaseLength;i++){vField=new QxWidget;vField.setBackgroundColor(vTemplateColors[i]);vField.setBorder(QxBorder.presets.inset);vField.setWidth(14);vField.setHeight(14);vField.setLeft(i*16);vField.setTop(0);vField.addEventListener("click",this._onpaletteclick,this);vFieldSet.add(vField);};this.add(vFieldSet);}else {var vField;var vArr=QxColorSelector.presets;var vArrLength=vArr.length;var vSubArr;var vSubArrLength;for(var i=0;i<vArrLength;i++){vSubArr=vArr[i];vSubArrLength=vSubArr.length;for(var j=0;j<vSubArrLength;j++){vField=new QxWidget;vField.setBorder(QxBorder.presets.inset);vField.setBackgroundColor(vSubArr[j]);vField.setWidth(20);vField.setHeight(16);vField.setLeft(j*24);vField.setTop(i*20);vField.addEventListener("click",this._onpaletteclick,this);this.add(vField);};};};var hueFrame=new QxWidget;hueFrame.setBorder(QxBorder.presets.inset);hueFrame.setLeft(this.webfixMode?228:200);hueFrame.setTop(0);hueFrame.setWidth(258);hueFrame.setHeight(258);var hue=this._hueArea=new QxImage("core/huesaturation.jpg",256,256);hueFrame.add(hue);if(this.getEnableShader()){var hueOpaque=this._hueOpaque=new QxWidget();hueOpaque.setLeft(0);hueOpaque.setTop(0);hueOpaque.setRight(0);hueOpaque.setBottom(0);hueOpaque.setBackgroundColor("black");hueFrame.add(hueOpaque);};var huePos=this._huePos=new QxImage("core/huesaturationhandle.gif",11,11);huePos.setLeft(this.layoutOffset+128);huePos.setTop(-4+128);this.add(hueFrame,huePos);hue.addEventListener("click",this._onhueareaclick);hue.addEventListener("mousedown",this._onhueareamousedown);hue.addEventListener("mouseup",this._onhueareamouseup);hue.addEventListener("mousemove",this._onhueareamousemove);hueOpaque.addEventListener("click",this._onhueareaclick,hue);hueOpaque.addEventListener("mousedown",this._onhueareamousedown,hue);hueOpaque.addEventListener("mouseup",this._onhueareamouseup,hue);hueOpaque.addEventListener("mousemove",this._onhueareamousemove,hue);huePos.addEventListener("click",this._onhueareaclick,hue);huePos.addEventListener("mousedown",this._onhueareamousedown,hue);huePos.addEventListener("mouseup",this._onhueareamouseup,hue);huePos.addEventListener("mousemove",this._onhueareamousemove,hue);var brightFrame=new QxWidget;brightFrame.setBorder(QxBorder.presets.inset);brightFrame.setLeft(this.webfixMode?498:470);brightFrame.setTop(0);brightFrame.setWidth(21);brightFrame.setHeight(258);var bright=this._brightArea=new QxImage("core/brightness.jpg",19,256);brightFrame.add(bright);var brightPos=this._brightPos=new QxImage("core/brightnesshandle.gif",35,11);brightPos.setLeft(this.layoutOffset+267);brightPos.setTop(-4);this.add(brightFrame,brightPos);bright.addEventListener("click",this._onbrightareaclick);bright.addEventListener("mousedown",this._onbrightareamousedown);bright.addEventListener("mouseup",this._onbrightareamouseup);bright.addEventListener("mousemove",this._onbrightareamousemove);brightPos.addEventListener("click",this._onbrightareaclick,bright);brightPos.addEventListener("mousedown",this._onbrightareamousedown,bright);brightPos.addEventListener("mouseup",this._onbrightareamouseup,bright);brightPos.addEventListener("mousemove",this._onbrightareamousemove,bright);var inputArea=new QxWidget;inputArea.setLeft(0);inputArea.setWidth(this.webfixMode?218:190);inputArea.setTop(this.webfixMode?95:135);inputArea.setHeight(90);this.add(inputArea);var r=this._red=new QxSpinner(0,127,255);r.setLeft(this.webfixMode?171:143);r.setWidth(45);r.setTop(0);r.addEventListener("change",this._onchange,this);var rl=new QxAtom(QxColorSelector.textRed);rl.setLeft(this.webfixMode?118:90);rl.setWidth(50);rl.setHorizontalBlockAlign("right");rl.setTop(5);var g=this._green=new QxSpinner(0,255,255);g.setLeft(this.webfixMode?171:143);g.setWidth(45);g.setTop(30);g.addEventListener("change",this._onchange,this);var gl=new QxAtom(QxColorSelector.textGreen);gl.setLeft(this.webfixMode?118:90);gl.setWidth(50);gl.setHorizontalBlockAlign("right");gl.setTop(35);var b=this._blue=new QxSpinner(0,255,255);b.setLeft(this.webfixMode?171:143);b.setWidth(45);b.setTop(60);b.addEventListener("change",this._onchange,this);var bl=new QxAtom(QxColorSelector.textBlue);bl.setLeft(this.webfixMode?118:90);bl.setWidth(50);bl.setHorizontalBlockAlign("right");bl.setTop(65);var h=this._hue=new QxSpinner(0,180,360);h.setLeft(54);h.setWidth(45);h.setTop(0);h.addEventListener("change",this._onchange,this);var hl=new QxAtom(QxColorSelector.textHue);hl.setLeft(0);hl.setWidth(50);hl.setHorizontalBlockAlign("right");hl.setTop(5);var s=this._sat=new QxSpinner(0,50,100);s.setLeft(54);s.setWidth(45);s.setTop(30);s.addEventListener("change",this._onchange,this);var sl=new QxAtom(QxColorSelector.textSaturation);sl.setLeft(0);sl.setWidth(50);sl.setHorizontalBlockAlign("right");sl.setTop(35);var l=this._lum=new QxSpinner(0,100,100);l.setLeft(54);l.setWidth(45);l.setTop(60);l.addEventListener("change",this._onchange,this);var ll=new QxAtom(QxColorSelector.textBrightness);ll.setLeft(0);ll.setWidth(50);ll.setHorizontalBlockAlign("right");ll.setTop(65);inputArea.add(r,rl,g,gl,b,bl,h,hl,s,sl,l,ll);var hexLabel=new QxAtom(QxColorSelector.textHex);hexLabel.setLeft(0);hexLabel.setWidth(this.webfixMode?158:130);hexLabel.setHorizontalBlockAlign("right");hexLabel.setTop(this.webfixMode?192:241);var hex=this._hex=new QxTextField("7FFFFF");hex.setLeft(this.webfixMode?161:133);hex.setTop(this.webfixMode?187:236);hex.setWidth(55);this.add(hexLabel,hex);hex.addEventListener("changeText",this._onchangehex,this);var savedColor=this._savedColor=new QxAtom(QxColorSelector.textSavedColor);if(this.webfixMode){savedColor.setLeft(0);savedColor.setTop(233);savedColor.setWidth(100);}else {savedColor.setTop(270);savedColor.setLeft(200);savedColor.setWidth(125);};savedColor.setHeight(25);savedColor.setHorizontalBlockAlign("center");savedColor.setBorder(QxBorder.presets.inset);var newColor=this._newColor=new QxAtom(QxColorSelector.textNewColor);if(this.webfixMode){newColor.setLeft(116);newColor.setTop(233);newColor.setWidth(100);}else {newColor.setRight(33);newColor.setTop(270);newColor.setWidth(125);};newColor.setHeight(25);newColor.setHorizontalBlockAlign("center");newColor.setBorder(QxBorder.presets.inset);newColor.setBackgroundColor("#7FFFFF");this.add(savedColor,newColor);var sep=new QxWidget;sep.setHeight(2);sep.setBorder(QxBorder.presets.thinInset);sep.setWidth("100%");sep.setLeft(0);sep.setTop(this.webfixMode?275:325);this.add(sep);var btncancel = this._btncancel = new QxButton(QxColorSelector.textCancel, "icons/16/button_cancel.png", 16, 16);var btnok = this._btnok = new QxButton(QxColorSelector.textOk, "icons/16/button_ok.png", 16, 16);btncancel.setRight(0);btncancel.setTop(this.webfixMode?285:335);btncancel.setWidth(85);btncancel.setHorizontalBlockAlign("center");btnok.setRight(95);btnok.setTop(this.webfixMode?285:335);btnok.setWidth(85);btnok.setHorizontalBlockAlign("center");this.add(btncancel,btnok);};QxColorSelector.extend(QxWindow,"QxColorSelector");QxColorSelector.addProperty({name:"currentColor",type:QxColor});QxColorSelector.addProperty({name:"enableShader",type:Boolean,defaultValue:true});QxColorSelector.presets=
+[
+[[255,128,128],[255,255,128],[128,255,128],[0,155,128],[128,255,255],[0,128,255],[255,128,192],[255,128,255]],[[255,0,0],[255,255,0],[128,255,0],[0,255,64],[0,255,255],[0,128,192],[128,128,192],[255,0,255]],[[128,64,64],[255,128,64],[0,255,0],[0,128,128],[0,64,128],[128,128,255],[128,0,64],[255,0,128]],[[128,0,0],[255,128,0],[0,128,0],[0,128,64],[0,0,255],[0,160,160],[128,0,128],[128,0,255]],[[64,0,0],[128,64,0],[0,64,0],[0,64,64],[0,0,128],[0,0,64],[64,0,64],[64,0,128]],[[0,0,0],[128,128,0],[128,128,64],[128,128,128],[64,128,128],[192,192,192],[32,0,32],[255,255,255]]
+];QxColorSelector.baseColors=["black",51,102,153,204,"white","red","green","blue","yellow","cyan","magenta"];proto._mode=null;QxColorSelector.textBaseColors="Basic Colors";QxColorSelector.textTemplateColors="Template Colors";QxColorSelector.textHistoryColors="Previous Colors";QxColorSelector.textHue="Hue:";QxColorSelector.textSaturation="Sat:";QxColorSelector.textBrightness="Lum:";QxColorSelector.textRed="Red:";QxColorSelector.textGreen="Green:";QxColorSelector.textBlue="Blue:";QxColorSelector.textOk="OK";QxColorSelector.textCancel="Cancel";QxColorSelector.textSavedColor="Current";QxColorSelector.textNewColor="New";QxColorSelector.textHex="Hex:#";proto._modifyCurrentColor=function(_b1,_b2,_b3,_b4){this._newColor.setBackgroundColor(_b1,_b4);var r=QxColor.read(_b1);if(this._mode!="rgb"){this._red.setValue(r[0]);this._green.setValue(r[1]);this._blue.setValue(r[2]);};var c=QxColor.RGB2HSB(r[0],r[1],r[2]);this._newColor.setColor(this._useWhiteColor(c)?"white":"black");if(this._mode!="hsb"&&this._mode!="lum"){if(this._mode!="brightarea"){this._hue.setValue(c[0]);this._sat.setValue(c[1]);};if(this._mode!="huearea"){this._lum.setValue(c[2]);};};if(this._mode!="huearea"&&this._mode!="brightarea"){if(this._mode!="lum"){this._huePos.setLeft(c[0]==0?this.layoutOffset:this.layoutOffset+(c[0]/3.6*2.56));this._huePos.setTop(c[1]==0?252:256-(-4+(c[1]*2.56)));};if(this._mode!="hsb"){this._brightPos.setTop(-4+256-(c[2]*2.56));};};if(this.getEnableShader()&&this._mode!="huearea"){this._hueOpaque.setOpacity(1-(c[2]/100));};if(this._mode!="hex"){var s="";s+=QxColor.m_hex[Math.floor(r[0]/16)]+QxColor.m_hex[r[0]%16];s+=QxColor.m_hex[Math.floor(r[1]/16)]+QxColor.m_hex[r[1]%16];s+=QxColor.m_hex[Math.floor(r[2]/16)]+QxColor.m_hex[r[2]%16];this._hex.setText(s);};return true;};proto._modifyEnableShader=function(_b1,_b2,_b3,_b4){_b1?this.add(this._hueOpaque):this.remove(this._hueOpaque);return true;};proto._useWhiteColor=function(v){return v[2]<70||(v[1]>50&&(v[0].inrange(200,280)||v[0].inrange(-1,40)));};proto.setSavedColor=function(_b1){var r=QxColor.read(_b1);if(r){var c=QxColor.RGB2HSB(r[0],r[1],r[2]);this._savedColor.setBackgroundColor(_b1);this._savedColor.setColor(this._useWhiteColor(c)?"white":"black");}else {this._savedColor.setBackgroundColor(null);this._savedColor.setColor("black");};};proto._onchange=function(e){if(isValidString(this._mode)){return;};var t=e.getTarget();switch(e.getTarget()){case this._red:case this._blue:case this._green:this._mode="rgb";this.setCurrentColor([this._red.getValue(),this._green.getValue(),this._blue.getValue()]);break;case this._lum:this._mode="lum";this.setCurrentColor(QxColor.HSB2RGB(this._hue.getValue(),this._sat.getValue(),this._lum.getValue()));break;case this._hue:case this._sat:this._mode="hsb";this.setCurrentColor(QxColor.HSB2RGB(this._hue.getValue(),this._sat.getValue(),this._lum.getValue()));break;};delete this._mode;};proto._onchangehex=function(e){if(isValidString(this._mode)){return;};this._mode="hex";var r=QxColor.read("#"+this._hex.getText());if(r){this.setCurrentColor(r);};delete this._mode;};proto._onpaletteclick=function(e){this._mode="palette";this.setCurrentColor(e.getTarget().getBackgroundColor());delete this._mode;};proto._hueActive=false;proto._onhueareamousedown=function(e){this._hueActive=true;this.setCapture(true);};proto._onhueareamouseup=function(e){this._hueActive=false;this.setCapture(false);};proto._onhueareamousemove=function(e){if(this._hueActive){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();pa._onhueareaclick.call(this,e);};};proto._onhueareaclick=function(e){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();var h=((e.getPageX()-this.getComputedPageBoxLeft())/2.56*3.6).limit(0,360);var s=((e.getPageY()-this.getComputedPageBoxTop())/2.56).limit(0,100);var b=pa._lum.getValue();pa._huePos.setLeft(pa.layoutOffset+(h/3.6*2.56));pa._huePos.setTop(-4+(s*2.56));pa._mode="huearea";try{var r=QxColor.HSB2RGB(h,100-s,b);if(isValidArray(r)){pa.setCurrentColor(r);};}catch(ex){};delete pa._mode;};proto._brightActive=false;proto._onbrightareamousedown=function(e){this._brightActive=true;this.setCapture(true);};proto._onbrightareamouseup=function(e){this._brightActive=false;this.setCapture(false);};proto._onbrightareamousemove=function(e){if(this._brightActive){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();pa._onbrightareaclick.call(this,e);};};proto._onbrightareaclick=function(e){var pa1=this.getParent().getParent();var pa=pa1.standaloneMode?pa1:pa1.getParent();var h=pa._hue.getValue();var s=pa._sat.getValue();var b=((e.getPageY()-this.getComputedPageBoxTop())/2.56).limit(0,100);pa._brightPos.setTop(-4+(b*2.56));pa._mode="brightarea";try{var r=QxColor.HSB2RGB(h,s,100-b);if(r){pa.setCurrentColor(r);};}catch(ex){};delete pa._mode;};proto.dispose=function(){if(this.getDisposed()){return;};return QxWindow.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxComboBox.js b/swat/style/qooxdoo/widgets/widgets/QxComboBox.js
new file mode 100644
index 0000000000..5af95e4f03
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxComboBox.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxComboBox(){QxWidget.call(this);this.setWidth(120);this.setHeight(22);this.setBorder(QxBorder.presets.inset);this.setTabIndex(1);this._list=new QxList();this._list.set({top:0,left:0,bottom:0,right:0,overflow:"auto",timerCreate:false});this._manager=this._list.getManager();this._manager.set({multiSelection:false,dragSelection:false});this._manager.addEventListener("changeSelection",this._onchangeselection,this);this._popup=new QxPopup();this._popup.set({autoHide:false,width:150,height:180,timerCreate:false});this._popup.add(this._list);this._atom=new QxAtom();this._atom.set({width:null,top:3,left:4,right:16,tabIndex:-1});this._textfield=new QxTextField();this._textfield.setTop((new QxClient).isGecko()?1:0);this._textfield.set({left:4,right:16,tabIndex:-1});(this.isEditable()?this._atom:this._textfield).setStyleProperty("visibility","hidden");this._button=new QxWidget();this._button.set({top:0,bottom:0,width:16,right:0,border:QxBorder.presets.outset,canSelect:false});this._buttonimage = new QxImage("widgets/arrows/down.gif", 7, 4);this._buttonimage.set({top:5,left:2});this._button.add(this._buttonimage);this.add(this._textfield,this._atom,this._button);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("keydown",this._g4);this.addEventListener("keypress",this._g6);this.addEventListener("mousewheel",this._onmousewheel);};QxComboBox.extend(QxWidget,"QxComboBox");QxComboBox.addProperty({name:"editable",type:Boolean,defaultValue:false,getAlias:"isEditable"});QxComboBox.addProperty({name:"selected",type:Object});QxComboBox.addProperty({name:"value",type:Object});QxComboBox.addProperty({name:"pagingInterval",type:Number,defaultValue:10});QxComboBox.addProperty({name:"maxListHeight",type:Number,defaultValue:180});proto._modifyParent=function(_b1,_b2,_b3,_b4){if(_b1){var p=_b1.getTopLevelWidget();if(p){p.add(this._popup);};}else if(_b2){var p=_b2.getTopLevelWidget();if(p){p.remove(this._popup);};};return QxWidget.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);};proto._modifySelected=function(_b1,_b2,_b3,_b4){this.setValue(_b1?_b1.getText():"",_b4);if(_b1){this._manager.setSelectedItems([_b1]);}else {this._manager.deselectAll();};return true;};proto._modifyValue=function(_b1,_b2,_b3,_b4){var vText=isValid(_b1)?_b1:"";if(this.isEditable()){this._textfield.setText(vText,_b4);}else {this._atom.setText(vText,_b4);};this.setSelected(vText==""?null:this.getList().findStringExact(vText),_b4);return true;};proto._modifyEditable=function(_b1,_b2,_b3,_b4){var l=this._atom;var t=this._textfield;if(this.isCreated()){l.setVisible(!_b1);t.setVisible(_b1);if(_b1){t.setText(this.getValue());}else {l.setText(this.getValue());};}else {if(_b1){l.setStyleProperty("visibility","hidden");t.removeStyleProperty("visibility");}else {t.setStyleProperty("visibility","hidden");l.removeStyleProperty("visibility");};};this._modifyEditablePost(_b1);return true;};if((new QxClient).isMshtml()){proto._modifyEditablePost=function(_b1){var t=this._textfield;if(_b1){t.setHtmlProperty("unselectable",false);t.setHtmlProperty("tabIndex",1);}else {t.setHtmlProperty("unselectable",true);t.setHtmlProperty("tabIndex",-1);};};}else if((new QxClient).isGecko()){proto._modifyEditablePost=function(_b1){var t=this._textfield;if(_b1){t.setStyleProperty("MozUserFocus","normal");t.setStyleProperty("userFocus","normal");}else {t.setStyleProperty("MozUserFocus","ignore");t.setStyleProperty("userFocus","ignore");};};}else {proto._modifyEditablePost=function(_b1){var t=this._textfield;if(_b1){t.setStyleProperty("userFocus","normal");t.setHtmlProperty("tabIndex",1);}else {t.setStyleProperty("userFocus","ignore");t.setHtmlProperty("tabIndex",-1);};};};proto.getList=function(){return this._list;};proto.getManager=function(){return this._manager;};proto.getPopup=function(){return this._popup;};proto.getAtom=function(){return this._atom;};proto.getTextField=function(){return this._textfield;};proto.getButton=function(){return this._button;};proto.getButtonImage=function(){return this._buttonimage;};proto.createPopup=function(){var p=this._popup;if(!p.isCreated()){p.setLeft(this.getComputedPageBoxLeft()+1);p.setTop(this.getComputedPageBoxBottom());p.setWidth(this.getComputedBoxWidth()-2);};var pa=this.getParent();var pt=pa?pa.getTopLevelWidget():null;if(pt){pt.add(p);};if(!p.isCreated()){p._createElement();p.setVisible(false);};};proto._togglePopup=function(){if(this._popup.getVisible()){this._closePopup();if(!this.getEditable()){this.setState("mark");};}else {this._openPopup();};};proto._openPopup=function(){var p=this._popup;var l=this._list;var m=this._manager;this.createPopup();var lh=l.getPreferredHeight();var mh=this.getMaxListHeight();if(lh>mh){p.setHeight(mh);l.setOverflow("scrollY");}else {p.setHeight(lh);l.setOverflow("hidden");};p.setLeft(this.getComputedPageBoxLeft()+1);p.setTop(this.getComputedPageBoxBottom());p.setWidth(this.getComputedBoxWidth()-2);if(this.isEditable()){var vFound=this._findMatchingEditItem();if(vFound){m.setSelectedItem(vFound);}else {var oldFireChange=m.getFireChange();m.setFireChange(false);m.deselectAll();m.setLeadItem(null);m.setFireChange(oldFireChange);};};var vCurrent=this._manager.getSelectedItem();if(vCurrent){m.setLeadItem(vCurrent);m.scrollItemIntoView(vCurrent);};this.setCapture(true);this.setState(null);p.setVisible(true);};proto._closePopup=function(){var vCurrent=this._manager.getSelectedItem();if(!(vCurrent==null&&this.getEditable())){this.setSelected(vCurrent);this._manager.setLeadItem(vCurrent);};this.setCapture(false);this._popup.setVisible(false);};proto._g1=function(e){var t=e.getActiveTarget();if(typeof t=="undefined"){return;};if(t instanceof QxImage){t=t.getParent();};if(t instanceof QxListItem){if(!t.isEnabled()){return;};t=t.getParent();};switch(t){case this._textfield:return;case this:case this._atom:case this._button:case this._buttonimage:this._togglePopup();this._button.setBorder(QxBorder.presets.inset);break;case this._list:if(this.getEditable()&&!this._findMatchingEditItem()){this.setSelected(null);};this._list._g1(e);if(e.getTarget()!=this._list){this._closePopup();};break;case this._popup:break;default:var sel=this.getSelected();this._manager.deselectAll();if(sel){this._manager.setSelectedItem(sel);};this._closePopup();break;};};proto._g2=function(e){this._button.setBorder(QxBorder.presets.outset);};proto._findMatchingEditItem=function(){return this._list.findStringExact(this._textfield.getElement().value);};proto._g4=function(e){var m=this._manager;if(this._popup.getVisible()){if(e.getKeyCode()==QxKeyEvent.keys.enter){this.setSelected(this._manager.getSelectedItem());this._closePopup();return;}else if(e.getKeyCode()==QxKeyEvent.keys.esc){m.setSelectedItem(this.getSelected());m.setLeadItem(this.getSelected());this._popup.setVisible(false);this.setCapture(false);return;};}else if(e.getKeyCode()==QxKeyEvent.keys.enter){this._openPopup();};if(!this._popup.getVisible()&&e.getKeyCode()==QxKeyEvent.keys.pageup){var vPrevious;var vTemp=this.getSelected();if(vTemp){var vInterval=this.getPagingInterval();do{vPrevious=vTemp;}while(--vInterval&&(vTemp=m.getPrevious(vPrevious)));}else {vPrevious=m.getLast();};this.setSelected(vPrevious);}else if(!this._popup.getVisible()&&e.getKeyCode()==QxKeyEvent.keys.pagedown){var vNext;var vTemp=this.getSelected();if(vTemp){var vInterval=this.getPagingInterval();do{vNext=vTemp;}while(--vInterval&&(vTemp=m.getNext(vNext)));}else {vNext=m.getFirst();};this.setSelected(vNext);}else if(!this.isEditable()||this._popup.getVisible()){this._list._g4(e);}else if(e.getKeyCode()==QxKeyEvent.keys.up||e.getKeyCode()==QxKeyEvent.keys.down){var vFound=this._findMatchingEditItem();if(vFound){m.setSelectedItem(vFound);m.setLeadItem(vFound);}else {m.deselectAll();m.setLeadItem(null);};this._list._g4(e);}else if(this._popup.isCreated()&&(e.getKeyCode()==QxKeyEvent.keys.pageup||e.getKeyCode()==QxKeyEvent.keys.pagedown)){var vFound=this._findMatchingEditItem();if(vFound){m.setSelectedItem(vFound);m.setLeadItem(vFound);}else {m.deselectAll();m.setLeadItem(null);};this._list._g4(e);};};proto._g6=function(e){if(!this.isEditable()||this._popup.getVisible()){this._list._g6(e);};};proto._onmouseover=function(e){var t=e.getTarget();if(t instanceof QxImage){t=t.getParent();};if(t instanceof QxListItem&&t.getEnabled()){var m=this._manager;m.deselectAll();m.setLeadItem(t);m.setSelectedItem(t);};};proto._onmousewheel=function(e){if(!this._popup.getVisible()){var toSelect;var isSelected=this.getSelected();if(e.getWheelDelta()<0){toSelect=isSelected?this._manager.getNext(isSelected):this._manager.getFirst();}else {toSelect=isSelected?this._manager.getPrevious(isSelected):this._manager.getLast();};if(toSelect){this.setSelected(toSelect);};};};proto._onchangeselection=function(e){if(!this._popup.getVisible()){this.setSelected(this._manager.getSelectedItem());};};proto._visualizeBlur=function(){this.setState(null);QxWidget.prototype._visualizeBlur.call(this);};proto.dispose=function(){if(this.getDisposed()){return;};if(this._list){this._list.dispose();this._list=null;};if(this._manager){this._manager.dispose();this._manager=null;};if(this._popup){this._popup.dispose();this._popup=null;};if(this._atom){this._atom.dispose();this._atom=null;};if(this._textfield){this._textfield.dispose();this._textfield=null;};if(this._button){this._button.dispose();this._button=null;};if(this._buttonimage){this._buttonimage.dispose();this._buttonimage=null;};return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxContainer.js b/swat/style/qooxdoo/widgets/widgets/QxContainer.js
new file mode 100644
index 0000000000..f89fb97d8d
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxContainer.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxContainer(vHtml){QxTerminator.call(this);if(isValid(vHtml)){this.setHtml(vHtml);};};QxContainer.extend(QxTerminator,"QxContainer");QxContainer.addProperty({name:"html",type:String});proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);if(_b1){return this._applyHtml();}else if(_b2){_b2.innerHTML="";};return true;};proto._modifyHtml=function(_b1,_b2,_b3,_b4){return this._applyHtml();};proto._applyHtml=function(){if(!this.isCreated()){return true;};var vHtml=this.getHtml();if(isValid(vHtml)){this.getElement().innerHTML=vHtml;this._invalidatePreferred("load");this._outerChanged("load");}else {this.getElement().innerHTML="";this._invalidatePreferred("unload");this._outerChanged("unload");};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxDockLayout.js b/swat/style/qooxdoo/widgets/widgets/QxDockLayout.js
new file mode 100644
index 0000000000..ccd41abdb7
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxDockLayout.js
@@ -0,0 +1,4 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxDockLayout(){QxLayout.call(this);};QxDockLayout.extend(QxLayout,"QxDockLayout");QxDockLayout.addProperty({name:"respectAutoRequirements",type:Boolean,defaultValue:true});proto.add=function(){var l=arguments.length;var d=arguments[l-1];var o;if(isValidString(d)){l--;}else {d="auto";};for(var i=0;i<l;i++){o=arguments[i];if(!(o instanceof QxWidget)){throw new Error("Invalid Widget:"+o);}else {o.setParent(this);o.setLayoutHint(d);};};return this;};proto._d1=function(){var innerWidth=this.getInnerWidth();if(innerWidth==0){return;};var ch=this.getChildren();var chl=ch.length;var chc,cht;var grouped={left:[],right:[],orthogonal:[],auto:[]
+};for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "left":case "right":case "auto":grouped[cht].push(chc);break;case "top":case "bottom":grouped["orthogonal"].push(chc);break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};if(grouped.auto.length>1){throw new Error("QxDockLayout can not handle multiple auto children!");};var leftList=grouped.left;var leftLength=leftList.length;var leftLast=0;for(var i=0;i<leftLength;i++){chc=leftList[i];chc._d3Horizontal(leftLast);leftLast+=this._prepareSizeValue(chc.getAnyWidth(),innerWidth,chc.getMinWidth(),chc.getMaxWidth());};var rightList=grouped.right;var rightLength=rightList.length;var rightLast=innerWidth;for(var i=0;i<rightLength;i++){chc=rightList[i];rightLast-=this._prepareSizeValue(chc.getAnyWidth(),innerWidth,chc.getMinWidth(),chc.getMaxWidth());chc._d3Horizontal(rightLast);};var orthogonalList=grouped.orthogonal;var orthogonalLength=orthogonalList.length;for(var i=0;i<orthogonalLength;i++){chc=orthogonalList[i];chc._d3Horizontal(0);chc._applySizeHorizontal(innerWidth);};var autoList=grouped.auto;var autoLength=autoList.length;var autoItem=autoList[0];var autoSpace=Math.max(0,rightLast-leftLast);if(autoItem){autoItem._d3Horizontal(leftLast);autoItem._applySizeHorizontal(autoSpace);};};proto._d2=function(){var innerHeight=this.getInnerHeight();if(innerHeight==0){return;};var ch=this.getChildren();var chl=ch.length;var chc,cht;var grouped={top:[],bottom:[],orthogonal:[],auto:[]
+};for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "top":case "bottom":case "auto":grouped[cht].push(chc);break;case "left":case "right":grouped["orthogonal"].push(chc);break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};if(grouped.auto.length>1){throw new Error("QxDockLayout can not handle multiple auto children!");};var topList=grouped.top;var topLength=topList.length;var topLast=0;for(var i=0;i<topLength;i++){chc=topList[i];chc._d3Vertical(topLast);topLast+=this._prepareSizeValue(chc.getAnyHeight(),innerHeight,chc.getMinHeight(),chc.getMaxHeight());};var bottomList=grouped.bottom;var bottomLength=bottomList.length;var bottomLast=innerHeight;for(var i=0;i<bottomLength;i++){chc=bottomList[i];bottomLast-=this._prepareSizeValue(chc.getAnyHeight(),innerHeight,chc.getMinHeight(),chc.getMaxHeight());chc._d3Vertical(bottomLast);};var otherList=grouped.orthogonal.concat(grouped.auto);var otherSpace=Math.max(0,bottomLast-topLast);for(var i=0,l=otherList.length;i<l;i++){chc=otherList[i];chc._d3Vertical(topLast);chc._applySizeVertical(otherSpace);};};proto._d5Width=function(_e4,_e5){var ch=this.getChildren();var chl=ch.length;var chc;var accumulatedWidth=0;var maxSingleRequiredWidth=0;var respectAutoRequirements=this.getRespectAutoRequirements();var tempSize;for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "top":case "bottom":tempSize=chc.getAnyWidth();tempSize=isValidNumber(tempSize)?tempSize:0;maxSingleRequiredWidth=Math.max(Math.min(Math.max(chc.getMinWidth(),tempSize),chc.getMaxWidth()),maxSingleRequiredWidth);break;case "auto":if(!respectAutoRequirements){break;};case "left":case "right":tempSize=chc.getAnyWidth();tempSize=isValidNumber(tempSize)?tempSize:0;accumulatedWidth+=Math.min(Math.max(tempSize,chc.getMinWidth()),chc.getMaxWidth());break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};return Math.max(0,accumulatedWidth+maxSingleRequiredWidth);};proto._d5Height=function(_e4,_e5){var ch=this.getChildren();var chl=ch.length;var chc;var accumulatedHeight=0;var maxSingleRequiredHeight=0;var respectAutoRequirements=this.getRespectAutoRequirements();var tempSize;for(var i=0;i<chl;i++){chc=ch[i];cht=chc.getLayoutHint();switch(cht){case "top":case "bottom":tempSize=chc.getAnyHeight();tempSize=isValidNumber(tempSize)?tempSize:0;accumulatedHeight+=Math.min(Math.max(tempSize,chc.getMinHeight()),chc.getMaxHeight());break;case "auto":if(!respectAutoRequirements){break;};case "left":case "right":tempSize=chc.getAnyHeight();tempSize=isValidNumber(tempSize)?tempSize:0;maxSingleRequiredHeight=Math.max(Math.min(Math.max(chc.getMinHeight(),tempSize),chc.getMaxHeight()),maxSingleRequiredHeight);break;default:throw new Error("QxDockLayout does not support layout hint '"+cht+"' for child "+chc);};};return Math.max(0,accumulatedHeight+maxSingleRequiredHeight);};proto._prepareSizeValue=function(size,full,min,max){var t=typeof size=="string"?Math.round(parseInt(size)*full/100):size;if(!isValidNumber){return null;};return t.limit(min,max);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxFieldSet.js b/swat/style/qooxdoo/widgets/widgets/QxFieldSet.js
new file mode 100644
index 0000000000..c40c5224e3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxFieldSet.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxFieldSet(vLegend){QxWidget.call(this);if(isValid(vLegend)){this.setLegend(vLegend);};this._minWidth=100;this._minHeight=50;this.setMinWidth(this._minWidth);this.setMinHeight(this._minHeight);this._dim={};};QxFieldSet.extend(QxWidget,"QxFieldSet");QxFieldSet.addProperty({name:"legend",type:String});proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){if(!this._frame){this._frame=QxFieldSet._h3.cloneNode(true);this._legend=this._frame.firstChild;this._content=this._frame.lastChild;};_b1.appendChild(this._frame);}else if(_b2&&this._frame){_b2.removeChild(this._frame);};QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return true;};proto._beforeShow=function(){this._renderLegend();this._renderWidth();this._renderHeight();};if((new QxClient).isGecko()){proto._renderLegend=function(){if(!this.isCreated()){return;};var oldWidth1=this.getElement().style.width;var oldWidth2=this._frame.style.width;var newWidth;this.getElement().style.width=this._frame.style.width="10000px";this._legend.style.width="";var l=this.getLegend();if(isValid(l)){this._legend.firstChild.nodeValue=l;this._legend.style.display="block";newWidth=this._legend.scrollWidth;}else {this._legend.style.display="none";newWidth=0;};this.getElement().style.width=oldWidth1;this._frame.style.width=oldWidth2;this._legend.style.width=newWidth+"px";if(this.getMinWidth()==this._minWidth){this._minWidth=newWidth+QxDOM.getComputedMarginLeft(this._legend)+QxDOM.getComputedMarginRight(this._legend);this.setMinWidth(this._minWidth);};};}else {proto._renderLegend=function(){if(!this.isCreated()){return;};var l=this.getLegend();if(isValid(l)){this._legend.firstChild.nodeValue=l;this._legend.style.display="block";}else {this._legend.style.display="none";};if(this.getMinWidth()==this._minWidth){this._minWidth=this._legend.scrollWidth+QxDOM.getComputedMarginLeft(this._legend)+QxDOM.getComputedMarginRight(this._legend);this.setMinWidth(this._minWidth);};};};proto._modifyLegend=function(_b1,_b2,_b3,_b4){this._renderLegend();return true;};proto._getParentNodeForChild=function(){return this._content;};proto._renderWidth=function(size){if(!this.isCreated()){return true;};var wFrame=Math.max(0,this.getElement().offsetWidth-QxDOM.getComputedMarginLeft(this._frame)-QxDOM.getComputedMarginRight(this._frame));var wContent=wFrame>0?Math.max(0,wFrame-QxDOM.getComputedInsetLeft(this._frame)-QxDOM.getComputedInsetRight(this._frame)-QxDOM.getComputedMarginLeft(this._content)-QxDOM.getComputedMarginRight(this._content)):0;this._frame.style.width=wFrame+"px";this._content.style.width=wContent+"px";return true;};proto._renderHeight=function(size){if(!this.isCreated()){return true;};var hFrame=Math.max(0,this.getElement().offsetHeight-QxDOM.getComputedMarginTop(this._frame)-QxDOM.getComputedMarginBottom(this._frame));var hContent=hFrame>0?Math.max(0,hFrame-QxDOM.getComputedInsetTop(this._frame)-QxDOM.getComputedInsetBottom(this._frame)-QxDOM.getComputedMarginTop(this._content)-QxDOM.getComputedMarginBottom(this._content)):0;this._frame.style.height=hFrame+"px";this._content.style.height=hContent+"px";return true;};proto.getComputedBorderLeft=proto.getComputedInsetLeft=function(){return QxDOM.getComputedMarginLeft(this._frame)+QxDOM.getComputedInsetLeft(this._frame)+QxDOM.getComputedMarginLeft(this._content);};proto.getComputedBorderRight=proto.getComputedInsetRight=function(){return QxDOM.getComputedMarginRight(this._frame)+QxDOM.getComputedInsetRight(this._frame)+QxDOM.getComputedMarginRight(this._content);};proto.getComputedBorderTop=proto.getComputedInsetTop=function(){return QxDOM.getComputedMarginTop(this._frame)+QxDOM.getComputedInsetTop(this._frame)+QxDOM.getComputedMarginTop(this._content);};proto.getComputedBorderBottom=proto.getComputedInsetBottom=function(){return QxDOM.getComputedMarginBottom(this._frame)+QxDOM.getComputedInsetBottom(this._frame)+QxDOM.getComputedMarginBottom(this._content);};proto.getComputedAreaWidth=function(){return this.getElement().offsetWidth-this.getComputedInsetLeft()-this.getComputedInsetRight();};proto.getComputedAreaHeight=function(){return this.getElement().offsetHeight-this.getComputedInsetTop()-this.getComputedInsetBottom();};proto.getComputedInnerWidth=function(){return this.getElement().offsetWidth-this.getComputedInsetLeft()-this.getComputedInsetRight()-this.getComputedPaddingLeft()-this.getComputedPaddingRight();};proto.getComputedInnerHeight=function(){return this.getElement().offsetHeight-this.getComputedInsetTop()-this.getComputedInsetBottom()-this.getComputedPaddingTop()-this.getComputedPaddingBottom();};proto._applySizeHorizontal=function(size){QxWidget.prototype._applySizeHorizontal.call(this,size);return this._renderWidth();};proto._applySizeVertical=function(size){QxWidget.prototype._applySizeVertical.call(this,size);return this._renderHeight();};QxFieldSet.init=function(){var frame=QxFieldSet._h3=document.createElement("div");var legend=document.createElement("div");var legendText=document.createTextNode("-");var content=document.createElement("div");frame.className="QxFieldSetFrame";legend.className="QxFieldSetLegend";content.className="QxFieldSetContent";legend.appendChild(legendText);frame.appendChild(legend);frame.appendChild(content);};QxFieldSet.init(); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxFlowLayout.js b/swat/style/qooxdoo/widgets/widgets/QxFlowLayout.js
new file mode 100644
index 0000000000..c62b09aba8
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxFlowLayout.js
@@ -0,0 +1,3 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxFlowLayout(){QxLayout.call(this);};QxFlowLayout.extend(QxLayout,"QxFlowLayout");QxFlowLayout.addProperty({name:"horizontalSpacing",type:Number,defaultValue:0});QxFlowLayout.addProperty({name:"verticalSpacing",type:Number,defaultValue:0});QxFlowLayout.addProperty({name:"horizontalBlockAlign",type:String,defaultValue:"left"});QxFlowLayout.addProperty({name:"verticalChildrenAlign",type:String,defaultValue:"top"});proto._d1=function(){var innerWidth=this.getInnerWidth();var innerHeight=this.getInnerHeight();var blockAlign=this.getHorizontalBlockAlign();var childrenAlign=this.getVerticalChildrenAlign();var spacingX=this.getHorizontalSpacing();var spacingY=this.getVerticalSpacing();var paddingLeft=this.getPaddingLeft();var paddingTop=this.getPaddingTop();var accumulatedWidth=0;var accumulatedHeight=0;var childNeededWidth;var childNeededHeight;var currentRow;var childCalculatedLeft,childCalculatedTop;var maxRequiredRowHeight=0;var rows=[];var childOffsetLeft=[];function storeRow(accumulatedWidth,accumulatedHeight,maxRequiredRowHeight){var r={width:accumulatedWidth,height:maxRequiredRowHeight,offsetTop:accumulatedHeight
+};switch(blockAlign){case "center":r.offsetLeft=(innerWidth-accumulatedWidth)/2;break;case "right":r.offsetLeft=innerWidth-accumulatedWidth;break;default:r.offsetLeft=0;};rows.push(r);};var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];childNeededWidth=chc.getMarginLeft()+chc.getAnyWidth()+chc.getMarginRight();childNeededHeight=chc.getAnyHeight();if((accumulatedWidth+childNeededWidth)>innerWidth){storeRow(accumulatedWidth,accumulatedHeight,maxRequiredRowHeight);chc.__row=rows.length;accumulatedHeight+=maxRequiredRowHeight+spacingY;childOffsetLeft.push(0);accumulatedWidth=childNeededWidth+spacingX;maxRequiredRowHeight=childNeededHeight;}else {chc.__row=rows.length;childOffsetLeft.push(accumulatedWidth);accumulatedWidth+=childNeededWidth+spacingX;maxRequiredRowHeight=Math.max(maxRequiredRowHeight,childNeededHeight);};};storeRow(accumulatedWidth,accumulatedHeight,maxRequiredRowHeight);for(var i=0;i<chl;i++){chc=ch[i];currentRow=rows[chc.__row];delete chc.__row;childCalculatedLeft=paddingLeft+currentRow.offsetLeft+childOffsetLeft[i];childCalculatedTop=paddingTop+currentRow.offsetTop;switch(childrenAlign){case "middle":childCalculatedTop+=(currentRow.height-chc.getAnyHeight())/2;break;case "bottom":childCalculatedTop+=currentRow.height-chc.getAnyHeight();break;};chc._d3Horizontal(childCalculatedLeft);chc._d3Vertical(childCalculatedTop);};return true;};proto._d2=function(){return true;};proto._d5Width=function(_e4,_e5){throw new Error("Auto Width is not supported by QxFlowLayout");};proto._d5Height=function(_e4,_e5){throw new Error("Auto Height is not supported by QxFlowLayout");}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxForm.js b/swat/style/qooxdoo/widgets/widgets/QxForm.js
new file mode 100644
index 0000000000..649607a513
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxForm.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxForm(){QxWidget.call(this);this.setTagName("FORM");};QxForm.extend(QxWidget,"QxForm"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxGallery.js b/swat/style/qooxdoo/widgets/widgets/QxGallery.js
new file mode 100644
index 0000000000..1359aabf56
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxGallery.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxGallery(vGalleryList){QxWidget.call(this);this._blank=(new QxImageManager).getBlank();this._list=vGalleryList;this._addCssClassName("QxWidget");this.setOverflow("auto");this._manager=new QxDomSelectionManager(this);this._manager.setMultiColumnSupport(true);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("mousemove",this._onmousemove);this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("keydown",this._g4);};QxGallery.extend(QxWidget,"QxGallery");QxGallery.addProperty({name:"thumbMaxWidth",type:Number,defaultValue:100});QxGallery.addProperty({name:"thumbMaxHeight",type:Number,defaultValue:100});QxGallery.addProperty({name:"decorHeight",type:Number,defaultValue:40});QxGallery.addProperty({name:"showTitle",type:Boolean,defaultValue:true});QxGallery.addProperty({name:"showComment",type:Boolean,defaultValue:true});proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){var o=this;window.setTimeout(function(){o.getElement().appendChild(o.createView());},100);};return QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto.getManager=function(){return this._manager;};proto.getList=function(){return this._list;};proto.update=function(vGalleryList){this._manager.deselectAll();this._list=vGalleryList;var el=this.getElement();el.replaceChild(this.createView(),el.firstChild);};proto.removeAll=function(){this._manager.deselectAll();this.getElement().innerHTML="";};proto.updateImageSrcById=function(vId,vSrc){return this.updateImageSrcByPosition(this.getPositionById(vId),vSrc);};proto.updateImageSrcByPosition=function(vPos,vSrc){if(vPos==-1){throw new Error("No valid Position:"+vPos);};var vNode=this.getNodeByPosition(vPos);vNode.getElementsByTagName("IMG")[0].src=vSrc;this._list.src=vSrc;};proto.deleteById=function(vId){this.deleteByPosition(this.getPositionById(vId));};proto.deleteByPosition=function(vPos){if(vPos==-1){throw new Error("No valid Position:"+vPos);};var vNode=this.getNodeByPosition(vPos);if(vNode){vNode.parentNode.removeChild(vNode);};this._list.removeAt(vPos);};proto.getPositionById=function(vId){for(var i=0,a=this._list,l=a.length;i<l;i++){if(a[i].id==vId){return i;};};return-1;};proto.getEntryById=function(vId){return this.getEntryByPosition(this.getPositionById(vId));};proto.getNodeById=function(vId){return this.getNodeByPosition(this.getPositionById(vId));};proto.getEntryByPosition=function(vPosition){return vPosition==-1?null:this._list[vPosition];};proto.getNodeByPosition=function(vPosition){return vPosition==-1?null:this._frame.childNodes[vPosition];};proto.getEntryByNode=function(vNode){return this.getEntryById(vNode.id);};proto.addFromPartialList=function(vPartialList){this.concat(vPartialList);for(var i=0,a=vPartialList,l=a.length;i<l;i++){this._frame.appendChild(this.createCell(a[i]));};};proto.addFromUpdatedList=function(vNewList){for(var a=vNewList,l=a.length,i=this._list.length;i<l;i++){this._frame.appendChild(this.createCell(a[i]));};this._list=vNewList;};proto._g1=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseDown(vItem,e);};};proto._g2=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseUp(vItem,e);};};proto._onmousemove=function(e){if(typeof QxToolTipManager!="function"){return;};var vItem=this.getListItemTarget(e.getDomTarget());if(vItem==this._lastItem){return;};if(this._lastItem){var vEventObject=new QxMouseEvent("mouseout",e,false,this._lastItem);(new QxToolTipManager).handleMouseOut(vEventObject);vEventObject.dispose();};if(vItem){if(this.hasEventListeners("beforeToolTipAppear")){this.dispatchEvent(new QxDataEvent("beforeToolTipAppear",vItem));};if(!this.getToolTip()){return;};var vEventObject=new QxMouseEvent("mouseout",e,false,vItem);(new QxToolTipManager).handleMouseOver(vEventObject);vEventObject.dispose();this.setToolTip(null);};this._lastItem=vItem;};proto._g3=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleClick(vItem,e);};};proto._ondblclick=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleDblClick(vItem,e);};};proto._g4=function(e){this._manager.handleKeyDown(e);};proto.getListItemTarget=function(dt){while(dt.className.indexOf("galleryCell")==-1&&dt.tagName!="BODY"){dt=dt.parentNode;};if(dt.tagName=="BODY"){return null;};return dt;};proto.scrollItemIntoView=function(vItem){this.scrollItemIntoViewX(vItem);this.scrollItemIntoViewY(vItem);};proto.scrollItemIntoViewX=function(vItem){QxDOM.scrollIntoViewX(vItem,vItem.parentNode.parentNode);};proto.scrollItemIntoViewY=function(vItem){QxDOM.scrollIntoViewY(vItem,vItem.parentNode.parentNode);};proto.getItems=function(){return this._frame.childNodes;};proto.getFirstChild=function(){return this._frame.childNodes[0];};proto.getLastChild=function(){return this._frame.childNodes[this._frame.childNodes.length-1];};proto.createView=function(){var s=(new Date).valueOf();var tWidth=this.getThumbMaxWidth();var tHeight=this.getThumbMaxHeight();if(!this._protoCell){this.createProtoCell();};this._frame=document.createElement("div");this._frame.className="galleryFrame clearfix";for(var i=0,a=this._list,l=a.length;i<l;i++){this._frame.appendChild(this.createCell(a[i]));};return this._frame;};proto.createCell=function(d){var cframe=this._protoCell.cloneNode(true);cframe.id=d.id;cframe.pos=i;if(this.getShowTitle()){cnode=cframe.childNodes[0];cnode.firstChild.nodeValue=d.title;};var cnode=cframe.childNodes[this.getShowTitle()?1:0];cnode.width=d.thumbWidth;cnode.height=d.thumbHeight;if(cnode.runtimeStyle&&!window.opera){cnode.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+d.src+"',sizingMethod='scale')";}else{cnode.src=d.src;};cnode.style.marginLeft=cnode.style.marginRight=Math.floor((this.getThumbMaxWidth()-d.thumbWidth)/2)+"px";cnode.style.marginTop=cnode.style.marginBottom=Math.floor((this.getThumbMaxHeight()-d.thumbHeight)/2)+"px";if(this.getShowComment()){cnode=cframe.childNodes[this.getShowTitle()?2:1];cnode.firstChild.nodeValue=d.comment;};return cframe;};proto.createProtoCell=function(){var frame=this._protoCell=document.createElement("div");frame.className="galleryCell";frame.unselectable="on";frame.style.width=this.getThumbMaxWidth()+"px";frame.style.height=(this.getThumbMaxHeight()+this.getDecorHeight())+"px";if(this.getShowTitle()){var title=document.createElement("div");title.className="galleryTitle";title.unselectable="on";var ttext=document.createTextNode("-");title.appendChild(ttext);frame.appendChild(title);};var image=new Image();image.src=this._blank;frame.appendChild(image);if(this.getShowComment()){var comment=document.createElement("div");comment.className="galleryComment";comment.unselectable="on";var ctext=document.createTextNode("-");comment.appendChild(ctext);frame.appendChild(comment);};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxGalleryList.js b/swat/style/qooxdoo/widgets/widgets/QxGalleryList.js
new file mode 100644
index 0000000000..898f7d0093
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxGalleryList.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxGalleryList(galleryList){QxWidget.call(this);this._blank=(new QxImageManager).getBlank();this._list=galleryList;this.setOverflow("auto");this._manager=new QxDomSelectionManager(this);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("keydown",this._g4);};QxGalleryList.extend(QxWidget,"QxGalleryList");QxGalleryList.addProperty({name:"thumbMaxWidth",type:Number,defaultValue:60});QxGalleryList.addProperty({name:"thumbMaxHeight",type:Number,defaultValue:60});QxGalleryList.addProperty({name:"decorHeight",type:Number,defaultValue:40});proto.getManager=function(){return this._manager;};proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){var o=this;window.setTimeout(function(){o.getElement().appendChild(o.createView());},100);};return QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto._g1=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseDown(vItem,e);};};proto._g2=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleMouseUp(vItem,e);};};proto._g3=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleClick(vItem,e);};};proto._ondblclick=function(e){var vItem=this.getListItemTarget(e.getDomTarget());if(vItem){this._manager.handleDblClick(vItem,e);};};proto._g4=function(e){this._manager.handleKeyDown(e);};proto.getListItemTarget=function(dt){while(dt.className.indexOf("galleryCell")==-1&&dt.tagName!="BODY"){dt=dt.parentNode;};if(dt.tagName=="BODY"){return null;};return dt;};proto.scrollItemIntoView=function(vItem){this.scrollItemIntoViewX(vItem);this.scrollItemIntoViewY(vItem);};proto.scrollItemIntoViewX=function(vItem){QxDOM.scrollIntoViewX(vItem,vItem.parentNode.parentNode);};proto.scrollItemIntoViewY=function(vItem){QxDOM.scrollIntoViewY(vItem,vItem.parentNode.parentNode);};proto.getItems=function(){return this._frame.childNodes;};proto.getFirstChild=function(){return this._frame.childNodes[0];};proto.getLastChild=function(){return this._frame.childNodes[this._frame.childNodes.length-1];};proto.createView=function(){var s=(new Date).valueOf();var tWidth=this.getThumbMaxWidth();var tHeight=this.getThumbMaxHeight();var protoCell=this.createProtoCell(tHeight);var frame=this._frame=document.createElement("div");this._frame.className="galleryFrame clearfix";var cframe,cnode;for(var i=0,a=this._list,l=a.length,d;i<l;i++){d=a[i];cframe=protoCell.cloneNode(true);cframe.id=d.id;cframe.pos=i;cnode=cframe.childNodes[0];cnode.firstChild.nodeValue=d.number;cnode=cframe.childNodes[1].firstChild;cnode.width=d.thumbWidth;cnode.height=d.thumbHeight;if(cnode.runtimeStyle&&!window.opera){cnode.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+d.src+"',sizingMethod='scale')";}else{cnode.src=d.src;};cnode.style.marginLeft=cnode.style.marginRight=Math.floor((tWidth-d.thumbWidth)/2)+"px";cnode.style.marginTop=cnode.style.marginBottom=Math.floor((tHeight-d.thumbHeight)/2)+"px";cnode=cframe.childNodes[2].firstChild;cnode.firstChild.nodeValue=d.title;cnode=cframe.childNodes[2].lastChild;cnode.firstChild.nodeValue=d.comment;frame.appendChild(cframe);};return frame;};proto.createProtoCell=function(tHeight){var frame=document.createElement("div");frame.className="galleryCell";frame.unselectable="on";frame.style.height=(tHeight+2)+"px";var number=document.createElement("div");number.className="galleryNumber";number.unselectable="on";var ntext=document.createTextNode("-");number.appendChild(ntext);var imageContainer=document.createElement("div");imageContainer.className="galleryImageContainer";imageContainer.unselectable="on";var image=new Image();image.src=this._blank;imageContainer.appendChild(image);var text=document.createElement("div");text.className="galleryText";text.unselectable="on";text.style.width=(this.getWidth()-100-this.getThumbMaxWidth())+"px";var title=document.createElement("h3");var ttext=document.createTextNode("-");title.appendChild(ttext);title.unselectable="on";text.appendChild(title);var comment=document.createElement("p");var ctext=document.createTextNode("-");comment.appendChild(ctext);comment.unselectable="on";text.appendChild(comment);frame.appendChild(number);frame.appendChild(imageContainer);frame.appendChild(text);return frame;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxGridLayout.js b/swat/style/qooxdoo/widgets/widgets/QxGridLayout.js
new file mode 100644
index 0000000000..32465982d2
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxGridLayout.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxGridLayout(vRows,vCols,vShowVirtualCells){QxLayout.call(this);this._rowHeights=[];this._colWidths=[];this._computedRowTypes=[];this._computedColTypes=[];this._computedRowHeights=[];this._computedColWidths=[];this._virtualCells=[];if(isValid(vShowVirtualCells)){this.setShowVirtualCells(vShowVirtualCells);};if(isValidString(vRows)){this.addRowsFromString(vRows);};if(isValidString(vCols)){this.addColsFromString(vCols);};};QxGridLayout.extend(QxLayout,"QxGridLayout");QxGridLayout.addProperty({name:"constraintMode",type:String,defaultValue:"clip"});QxGridLayout.addProperty({name:"respectSpansInAuto",type:Boolean,defaultValue:false});QxGridLayout.addProperty({name:"showVirtualCells",type:Boolean,defaultValue:false});QxGridLayout.addProperty({name:"cellPaddingTop",type:Number,defaultValue:0});QxGridLayout.addProperty({name:"cellPaddingRight",type:Number,defaultValue:0});QxGridLayout.addProperty({name:"cellPaddingBottom",type:Number,defaultValue:0});QxGridLayout.addProperty({name:"cellPaddingLeft",type:Number,defaultValue:0});proto.add=function(w,h){if(isInvalidNumber(h.colspan)){h.colspan=1;};if(isInvalidNumber(h.rowspan)){h.rowspan=1;};if(isValidNumber(h.padding)){if(isInvalidNumber(h.paddingLeft)){h.paddingLeft=h.padding;};if(isInvalidNumber(h.paddingTop)){h.paddingTop=h.padding;};if(isInvalidNumber(h.paddingRight)){h.paddingRight=h.padding;};if(isInvalidNumber(h.paddingBottom)){h.paddingBottom=h.padding;};}else {if(isInvalidNumber(h.paddingLeft)){h.paddingLeft=this.getCellPaddingLeft();};if(isInvalidNumber(h.paddingTop)){h.paddingTop=this.getCellPaddingTop();};if(isInvalidNumber(h.paddingRight)){h.paddingRight=this.getCellPaddingRight();};if(isInvalidNumber(h.paddingBottom)){h.paddingBottom=this.getCellPaddingBottom();};};if(isInvalid(h.scaleHorizontal)){h.scaleHorizontal=false;};if(isInvalid(h.scaleVertical)){h.scaleVertical=false;};w.setParent(this);w.setLayoutHint(h);};proto.remove=function(w){w.setParent(null);w.setLayoutHint(null);};proto.addRowsFromString=function(vRows){if(isValidString(vRows)){for(var i=0,a=vRows.split(","),l=a.length;i<l;i++){this.addRow(a[i]);};};};proto.addColsFromString=function(vCols){if(isValidString(vCols)){for(var i=0,a=vCols.split(","),l=a.length;i<l;i++){this.addCol(a[i]);};};};proto._anyColSum=0;proto._anyRowSum=0;proto._computeAnyWeight=function(vValue){return parseFloat(vValue.substring(1,vValue.length))||1;};proto.addRow=function(vHeight){var vPos=this._rowHeights.length+1;var vComputed,vType,vAnyWeight;switch(typeof vHeight){case "number":vComputed=vHeight;vType="static";break;case "string":if(vHeight=="auto"){vType="auto";vComputed=this._computeAutoRowHeight(vPos,vHeight);break;}else if(vHeight.indexOf("*")==0){vType="any";this._anyRowSum+=this._computeAnyWeight(vHeight);vComputed=this._computeAnyRowHeight(vPos,vHeight);break;}else if(vHeight.indexOf("%")==(vHeight.length-1)){vType="percent";vComputed=this._computePercentRowHeight(vPos,vHeight);break;};var vTemp=parseInt(vHeight);if(!isNaN(vTemp)){vComputed=vTemp;vType="static";break;};default:throw new Error("Unsupported Row Type:"+vHeight);};this._rowHeights.push(vHeight);this._rowCount=this._rowHeights.length;if(isValidString(vType)){this._computedRowTypes.push(vType);};if(isValidNumber(vComputed)){this._computedRowHeights.push(vComputed);};if(this.getShowVirtualCells()){for(var i=0,l=this.getColCount();i<l;i++){this._virtualCells.push(document.createElement("div"));};};};proto.addCol=function(vWidth){var vPos=this._colWidths.length+1;var vComputed,vType;switch(typeof vWidth){case "number":vComputed=vWidth;vType="static";break;case "string":if(vWidth=="auto"){vType="auto";vComputed=this._computeAutoColWidth(vPos,vWidth);break;}else if(vWidth.indexOf("*")==0){vType="any";this._anyColSum+=this._computeAnyWeight(vWidth);vComputed=this._computeAnyColWidth(vPos,vWidth);break;}else if(vWidth.indexOf("%")==(vWidth.length-1)){vType="percent";vComputed=this._computePercentColWidth(vPos,vWidth);break;};var vTemp=parseInt(vWidth);if(!isNaN(vTemp)){vComputed=vTemp;vType="static";break;};default:throw new Error("Unsupported Col Type:"+vWidth);};this._colWidths.push(vWidth);this._colCount=this._colWidths.length;if(isValidString(vType)){this._computedColTypes.push(vType);};if(isValidNumber(vComputed)){this._computedColWidths.push(vComputed);};if(this.getShowVirtualCells()){for(var i=0,l=this.getRowCount();i<l;i++){this._virtualCells.insertAt(document.createElement("div"),i*this._colCount);};};};proto.getRowCount=function(){return this._rowCount;};proto.getColCount=function(){return this._colCount;};proto._layoutHorizontalInitialDone=false;proto._d1=function(_e5,vModifiedChild){if(!this._layoutHorizontalInitialDone){_e5="initial";};var vCol;switch(_e5){case "initial":for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){this._layoutHorizontal(chc);};break;case "load":case "size":case "load":case "size":if(!vModifiedChild){break;};this._updateAutoCols(vModifiedChild);case "append-child-light":case "remove-child-light":var vMatchCol=vModifiedChild.getLayoutHint().col;var vLayoutHint;var vCol;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vCol=vLayoutHint.col;if(vCol>=vMatchCol||(vCol<vMatchCol&&(vLayoutHint.colspan+vCol)>=vMatchCol)){this._layoutHorizontal(chc);};};break;case "append-child":var vChange=false;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vCol=chc.getLayoutHint().col;if(vChange){this._layoutHorizontal(chc);}else {switch(this._computedColTypes[vCol-1]){case "auto":this._layoutHorizontal(chc);vChange=true;break;};};};break;case "inner-width":var vChange=false;var vLayoutHint,vColSpan;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vCol=vLayoutHint.col;if(vChange){this._layoutHorizontal(chc);}else {switch(this._computedColTypes[vCol-1]){case "percent":case "any":this._layoutHorizontal(chc);vChange=true;break;default:vColSpan=vLayoutHint.colspan;for(var j=1;j<vColSpan;j++){switch(this._computedColTypes[vCol-1+j]){case "percent":case "any":this._layoutHorizontal(chc);vChange=true;break;};};};};};break;};this._layoutHorizontalInitialDone=true;};proto._layoutVerticalInitialDone=false;proto._d2=function(_e5,vModifiedChild){if(!this._layoutVerticalInitialDone){_e5="initial";};var vRow;switch(_e5){case "initial":for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){this._layoutVertical(chc);};break;case "load":case "size":if(!vModifiedChild){break;};this._updateAutoRows(vModifiedChild);case "append-child-light":case "remove-child-light":var vMatchRow=vModifiedChild.getLayoutHint().row;var vLayoutHint;var vRow;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vRow=vLayoutHint.row;if(vRow>=vMatchRow||(vRow<vMatchRow&&(vLayoutHint.rowspan+vRow)>=vMatchRow)){this._layoutVertical(chc);};};break;case "append-child":var vChange=false;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vRow=chc.getLayoutHint().row;if(vChange){this._layoutVertical(chc);}else {switch(this._computedRowTypes[vRow-1]){case "auto":this._layoutVertical(chc);vChange=true;break;};};};break;case "inner-height":var vChange=false;var vLayoutHint,vRowSpan;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){vLayoutHint=chc.getLayoutHint();vRow=vLayoutHint.row;if(vChange){this._layoutVertical(chc);}else {switch(this._computedRowTypes[vRow-1]){case "percent":case "any":this._layoutVertical(chc);vChange=true;break;default:vRowSpan=vLayoutHint.rowspan;for(var j=1;j<vRowSpan;j++){switch(this._computedRowTypes[vRow-1+j]){case "percent":case "any":this._layoutVertical(chc);vChange=true;break;};};};};};break;};this._layoutVerticalInitialDone=true;};proto._layoutHorizontal=function(vWidget){if(!vWidget.isCreated()){return;};var _e5=vWidget.getLayoutHint();var vRow=_e5.row-1;var vCol=_e5.col-1;var vColSpan=_e5.colspan;var vColCount=this.getColCount();var vLeft=this.getPaddingLeft();var vWidth=0;for(var i=0;i<vCol;i++){vLeft+=this._computedColWidths[i];};for(var j=0;j<vColSpan;j++){vWidth+=this._computedColWidths[i+j];};var vAvailableWidth=vWidth-_e5.paddingLeft-_e5.paddingRight;var vClip=vWidget.getClip();if(vClip){vClip[1]=vAvailableWidth;vWidget.forceClip(null);vWidget.setClip(vClip);}else {vWidget.setClip([0,vAvailableWidth,0,0])};if(this.getShowVirtualCells()){var vCell=this._virtualCells[(vRow*vColCount)+vCol];var vCellStyle=vCell.style;vCellStyle.position="absolute";vCellStyle.border="1px solid #4D79FF";vCellStyle.left=vLeft+"px";vCellStyle.width=vWidth+"px";vCellStyle.zIndex="-1";if(!vCellStyle.parentNode){this.getElement().appendChild(vCell);};};switch(vWidget.getHorizontalAlign()){case "center":vLeft+=Math.max((vAvailableWidth-vWidget.getAnyWidth())/2,0);break;case "right":vLeft+=Math.max(vAvailableWidth-vWidget.getAnyWidth(),0);break;};vWidget._d3Horizontal(vLeft+_e5.paddingLeft);if(_e5.scaleHorizontal){vWidget._applySizeHorizontal(vAvailableWidth);};};proto._layoutVertical=function(vWidget){if(!vWidget.isCreated()){return;};var _e5=vWidget.getLayoutHint();var vRow=_e5.row-1;var vCol=_e5.col-1;var vRowSpan=_e5.rowspan;var vColCount=this.getColCount();var vTop=this.getPaddingTop();var vHeight=0;for(var i=0;i<vRow;i++){vTop+=this._computedRowHeights[i];};for(var j=0;j<vRowSpan;j++){vHeight+=this._computedRowHeights[i+j];};var vAvailableHeight=vHeight-_e5.paddingTop-_e5.paddingBottom;var vClip=vWidget.getClip();if(vClip){vClip[2]=vAvailableHeight;vWidget.forceClip(null);vWidget.setClip(vClip);}else {vWidget.setClip([0,0,vAvailableHeight,0])};if(this.getShowVirtualCells()){var vCell=this._virtualCells[(vRow*vColCount)+vCol];var vCellStyle=vCell.style;vCellStyle.position="absolute";vCellStyle.border="1px solid #4D79FF";vCellStyle.top=vTop+"px";vCellStyle.height=vHeight+"px";vCellStyle.zIndex="-1";if(!vCellStyle.parentNode){this.getElement().appendChild(vCell);};};switch(vWidget.getVerticalAlign()){case "middle":vTop+=Math.max((vAvailableHeight-vWidget.getAnyHeight())/2,0);break;case "bottom":vTop+=Math.max(vAvailableHeight-vWidget.getAnyHeight(),0);break;};vWidget._d3Vertical(vTop+_e5.paddingTop);if(_e5.scaleVertical){vWidget._applySizeVertical(vAvailableHeight);};};proto._updatePercentCols=function(){var vColCount=this.getColCount();for(var i=0;i<vColCount;i++){if(this._computedColTypes[i]=="percent"){this._computedColWidths[i]=this._computePercentColWidth(i,this._colWidths[i]);};};};proto._updatePercentRows=function(){var vRowCount=this.getRowCount();for(var i=0;i<vRowCount;i++){if(this._computedRowTypes[i]=="percent"){this._computedRowHeights[i]=this._computePercentRowHeight(i,this._rowHeights[i]);};};};proto._updateAnyCols=function(){var vColCount=this.getColCount();var vRet=false;var vNew;for(var i=0;i<vColCount;i++){if(this._computedColTypes[i]=="any"){vNew=this._computeAnyColWidth(i,this._colWidths[i]);if(vNew!=this._computedColWidths[i]){this._computedColWidths[i]=vNew;vRet=true;};};};return vRet;};proto._updateAnyRows=function(){var vRowCount=this.getRowCount();var vRet=false;var vNew;for(var i=0;i<vRowCount;i++){if(this._computedRowTypes[i]=="any"){vNew=this._computeAnyRowHeight(i,this._rowHeights[i]);if(vNew!=this._computedRowHeights[i]){this._computedRowHeights[i]=vNew;vRet=true;};};};return vRet;};proto._updateAutoRows=function(otherObject){var _e5=otherObject.getLayoutHint();var vRow=_e5.row;if(this._computedRowTypes[vRow-1]=="auto"){var vNew=this._computeAutoRowHeight(vRow);if(vNew!=this._computedRowHeights[vRow-1]){this._computedRowHeights[vRow-1]=vNew;return true;};};return false;};proto._updateAutoCols=function(otherObject){var _e5=otherObject.getLayoutHint();var vCol=_e5.col;if(this._computedColTypes[vCol-1]=="auto"){var vNew=this._computeAutoColWidth(vCol);if(vNew!=this._computedColWidths[vCol-1]){this._computedColWidths[vCol-1]=vNew;return true;};};return false;};proto._onnewchild=function(otherObject){if(this._updateAutoRows(otherObject)){if(this._updateAnyRows()){this._d2("inner-height");};this._d2("append-child",otherObject);}else {this._d2("append-child-light",otherObject);};if(this._updateAutoCols(otherObject)){if(this._updateAnyCols()){this._d1("inner-width");};this._d1("append-child",otherObject);}else {this._d1("append-child-light",otherObject);};};proto._onremovechild=function(otherObject){if(this._updateAutoRows(otherObject)){if(this._updateAnyRows()){this._d2("inner-height");};this._d2("remove-child",otherObject);}else {this._d2("remove-child-light",otherObject);};if(this._updateAutoCols(otherObject)){if(this._updateAnyCols()){this._d1("inner-width");};this._d1("remove-child",otherObject);}else {this._d1("remove-child-light",otherObject);};};proto._innerWidthChanged=function(){this._d4Width();this._updatePercentCols();this._updateAnyCols();this._d1("inner-width");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._innerHeightChanged=function(){this._d4Height();this._updatePercentRows();this._updateAnyRows();this._d2("inner-height");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderVertical("parent");};};proto._computePercentRowHeight=function(vPos,vHeight){if(!this.isCreated()){return 0;};vHeight=parseFloat(vHeight);if(isNaN(vHeight)){return 0;};return Math.round(this.getInnerHeight()*vHeight/100);};proto._computePercentColWidth=function(vPos,vWidth){if(!this.isCreated()){return 0;};vWidth=parseFloat(vWidth);if(isNaN(vWidth)){return 0;};return Math.round(this.getInnerWidth()*vWidth/100);};proto._computeAutoRowHeight=function(vPos){var vMaxHeight=0;var _e5;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){_e5=chc.getLayoutHint();if(_e5.row==vPos){vMaxHeight=Math.max(chc.getAnyHeight()+_e5.paddingTop+_e5.paddingBottom,vMaxHeight);};};return vMaxHeight;};proto._computeAutoColWidth=function(vPos){var vMaxWidth=0;var _e5;for(var i=0,ch=this.getChildren(),chl=ch.length,chc=ch[0];i<chl;i++,chc=ch[i]){_e5=chc.getLayoutHint();if(_e5.col==vPos){vMaxWidth=Math.max(chc.getAnyWidth()+_e5.paddingLeft+_e5.paddingRight,vMaxWidth);};};return vMaxWidth;};proto._computeAnyRowHeight=function(vPos,vHeight){if(!this.isCreated()){return 0;};var innerHeight=this.getInnerHeight();var rows=this._computedRowHeights;var rowLength=rows.length;var rowTypes=this._computedRowTypes;var anyCount=0;for(var i=0;i<rowLength;i++){if(rowTypes[i]!="any"){innerHeight-=rows[i];};};return Math.max(0,Math.round(innerHeight/this._anyRowSum*this._computeAnyWeight(vHeight)));};proto._computeAnyColWidth=function(vPos,vWidth){if(!this.isCreated()){return 0;};var innerWidth=this.getInnerWidth();var cols=this._computedColWidths;var colLength=cols.length;var colTypes=this._computedColTypes;var anyCount=0;for(var i=0;i<colLength;i++){if(colTypes[i]!="any"){innerWidth-=cols[i];};};return Math.max(0,Math.round(innerWidth/this._anyColSum*this._computeAnyWeight(vWidth)));}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js b/swat/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js
new file mode 100644
index 0000000000..a9c5ab7af1
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxHorizontalBoxLayout(vBlockAlign,vChildrenAlign){QxBoxLayout.call(this,"horizontal",vBlockAlign,vChildrenAlign);};QxHorizontalBoxLayout.extend(QxBoxLayout,"QxHorizontalBoxLayout");proto._checkOrientation=function(_b1,_b2,propData,_b4){if(_b1!="horizontal"){throw new Error("Orientation is not configurable in QxHorizontalBoxLayout!");};return _b1;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxIframe.js b/swat/style/qooxdoo/widgets/widgets/QxIframe.js
new file mode 100644
index 0000000000..1bfa34ade3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxIframe.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxIframe(vSrc){QxWidget.call(this);this.setTabIndex(0);var o=this;this.__onreadystatechange=function(e){return o._onreadystatechange(e);};this.__onload=function(e){return o._onload(e);};if(isValid(vSrc)){this.setSrc(vSrc);};};QxIframe.extend(QxWidget,"QxIframe");QxIframe.addProperty({name:"src",type:String,defaultValue:"javascript:void(0)"});proto._realFrame=null;proto._modifyElement=function(_b1,_b2,_b3,_b4){if(!this._realFrame){this._realFrame=QxIframe._h3.cloneNode(true);if((new QxClient).isMshtml()){this._realFrame.onreadystatechange=this.__onreadystatechange;}else{this._realFrame.onload=this.__onload;};};_b1.appendChild(this._realFrame);this._renderSrc();QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return true;};proto._modifySrc=function(_b1,_b2,_b3,_b4){if(this.isCreated()){this._renderSrc();};return true;};proto.getIframe=function(){return this._realFrame;};proto._renderSrc=function(){var currentSrc=this.getSrc();this._isLoaded=false;this._realFrame.src=isValid(currentSrc)?currentSrc:"javascript:void(0)";};proto._onreadystatechange=function(){if(this._realFrame.readyState=="complete"){this.dispatchEvent(new QxEvent("load"));};};proto._onload=function(){this._isLoaded=true;this.dispatchEvent(new QxEvent("load"));};if((new QxClient).isMshtml()){proto.getContentWindow=function(){if(this.isCreated()){try{return this.getElement().contentWindow;}catch(ex){};};return null;};proto.getContentDocument=function(){var win=this.getContentWindow();return win?win.document:null;};}else {proto.getContentWindow=function(){var doc=this.getContentDocument();return doc?doc.defaultView:null;};proto.getContentDocument=function(){if(this.isCreated()){try{return this.getElement().contentDocument;}catch(ex){};};return null;};};proto._isLoaded=false;if((new QxClient).isMshtml()){proto.isLoaded=function(){var doc=this.getContentDocument();return doc?doc.readyState=="complete":false;};}else {proto.isLoaded=function(){return this._isLoaded;};};proto.dispose=function(){if(this.getDisposed()){return;};if(this.isCreated()&&this._realFrame){this.getElement().removeChild(this._realFrame);};this._realFrame=null;QxWidget.prototype.dispose.call(this);};QxIframe.init=function(){var f=QxIframe._h3=document.createElement("iframe");f.frameBorder="0";f.frameSpacing="0";f.marginWidth="0";f.marginHeight="0";f.width="100%";f.height="100%";f.hspace="0";f.vspace="0";f.border="0";f.scrolling="auto";f.unselectable="on";f.src="javascript:void(0)";f.className="QxIframeFrame";f.allowTransparency="true";};QxIframe.init(); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxImage.js b/swat/style/qooxdoo/widgets/widgets/QxImage.js
new file mode 100644
index 0000000000..801f4de5a8
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxImage.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxImage(vSource,vWidth,vHeight){QxTerminator.call(this);this.setTagName("IMG");this.setCanSelect(false);this._manager=new QxImageManager;this._manager.add(this);this.setHtmlProperty("src",this._manager.getBlank());if(isValid(vWidth)){this.setWidth(vWidth);};if(isValid(vHeight)){this.setHeight(vHeight);};if(isValid(vSource)){this.setSource(vSource);};};QxImage.extend(QxTerminator,"QxImage");QxImage.addProperty({name:"source",type:String});QxImage.addProperty({name:"preloader",type:Object});QxImage.addProperty({name:"loaded",type:Boolean,defaultValue:false});proto._onload=function(){this.setLoaded(true);};proto._onerror=function(){this.setLoaded(false);if(this.hasEventListeners("error")){this.dispatchEvent(new QxEvent("error"),true);};throw new Error("Image path is not valid:"+this.getSource());};proto._modifySource=function(_b1,_b2,_b3,_b4){if(_b1||_b2){if(_b1){this.setPreloader(new QxImagePreloader((new QxImageManager).buildURI(_b1)),_b4);}else if(_b2){this.setPreloader(null,_b4);};};return true;};proto._modifyPreloader=function(_b1,_b2,_b3,_b4){if(_b2){_b2.removeEventListener("load",this._onload,this);_b2.removeEventListener("error",this._onerror,this);};if(_b1){this.setLoaded(false);if(_b1.getIsLoaded()){this.setLoaded(true,_b4);}else {_b1.addEventListener("load",this._onload,this);_b1.addEventListener("error",this._onerror,this);};};return true;};proto._modifyLoaded=function(_b1,_b2,_b3,_b4){if(_b1&&this.isCreated()){this._apply();}else {this._outerChanged("unload");};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);if(_b1&&this.getLoaded()){this._apply();};return true;};if((new QxClient).isMshtml()){proto._modifyOpacity=function(){throw new Error("Mshtml did not support opacity on images!");};proto._postApply=function(vEnabled){var pl=this.getPreloader();if(pl.getIsPng()&&vEnabled){this.setHtmlProperty("src",this._manager.getBlank());this.setStyleProperty("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+pl.getSource()+"',sizingMethod='scale')");}else {this.setHtmlProperty("src",pl.getSource());vEnabled?this.removeStyleProperty("filter"):this.setStyleProperty("filter","Gray()Alpha(Opacity=50)");};};proto._apply=function(){var pl=this.getPreloader();if(this.getHeight()==null){this.setStyleProperty("pixelHeight",pl.getHeight());};if(this.getWidth()==null){this.setStyleProperty("pixelWidth",pl.getWidth());};this._postApply(this.getEnabled());this._invalidatePreferred();this._outerChanged("load");if(this.hasEventListeners("load")){this.dispatchEvent(new QxEvent("load"),true);};};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);this._postApply(_b1);return true;};}else {proto._apply=function(){this.setHtmlProperty("src",this.getPreloader().getSource());this._invalidatePreferred();this._outerChanged("load");if(this.hasEventListeners("load")){this.dispatchEvent(new QxEvent("load"),true);};};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){this.setOpacity(_b1?1:0.5,_b4);return QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};};proto.getPreferredWidth=function(){return this.getLoaded()?this.getPreloader().getWidth():0;};proto.getPreferredHeight=function(){return this.getLoaded()?this.getPreloader().getHeight():0;};proto.dispose=function(){if(this.getDisposed()){return true;};(new QxImageManager).remove(this);return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxImagePreloader.js b/swat/style/qooxdoo/widgets/widgets/QxImagePreloader.js
new file mode 100644
index 0000000000..18255032ec
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxImagePreloader.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxImagePreloader(vSource){var m=new QxImagePreloaderManager();if(m.has(vSource)){return m.get(vSource);};QxTarget.call(this);this._h3=new Image();this._h3._QxImagePreloader=this;this._h3.onload=QxImagePreloader.__onload;this._h3.onerror=QxImagePreloader.__onerror;this._source=vSource;this._h3.src=vSource;if((new QxClient).isMshtml()){this._isPng = /\.png$/i.test(this._h3.nameProp);};m.add(this);};QxImagePreloader.extend(QxTarget,"QxImagePreloader");proto._source=null;proto._isLoaded=false;proto._isPng=false;proto.getUri=function(){return this._source;};proto.getSource=function(){return this._source;};if((new QxClient).isGecko()){proto.getWidth=function(){return this._h3.naturalWidth;};proto.getHeight=function(){return this._h3.naturalHeight;};proto.getIsLoaded=function(){return this._isLoaded=this._h3.complete;};}else if((new QxClient).isMshtml()){proto.getWidth=function(){return this._h3.width;};proto.getHeight=function(){return this._h3.height;};proto.getIsLoaded=function(){return this._h3.readyState=="complete";};proto.getIsPng=function(){return this._isPng;};}else {proto.getWidth=function(){return this._h3.width;};proto.getHeight=function(){return this._h3.height;};proto.getIsLoaded=function(){return this._isLoaded=this._h3.complete;};};QxImagePreloader.__onload=function(){this._QxImagePreloader._onload();};QxImagePreloader.__onerror=function(){this._QxImagePreloader._onerror();};proto._onload=function(){this._isLoaded=true;if(this.hasEventListeners("load")){this.dispatchEvent(new QxEvent("load"));};};proto._onerror=function(){this._isLoaded=false;if(this.hasEventListeners("error")){this.dispatchEvent(new QxEvent("error"));};};proto.dispose=function(){if(this.getDisposed()){return;};QxTarget.prototype.dispose.call(this);if(this._h3){this._h3.onload=this._h3.onerror=null;this._h3._QxImagePreloader=null;this._h3=null;};this._isLoaded=this._isPng=false;return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxInline.js b/swat/style/qooxdoo/widgets/widgets/QxInline.js
new file mode 100644
index 0000000000..4ee644cac6
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxInline.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxInline(){QxWidget.call(this);this.setHeight("auto");this.setWidth(null);};QxInline.extend(QxWidget,"QxInline");QxInline.addProperty({name:"inlineNodeId",type:String});proto._modifyInlineNodeId=function(_b1,_b2,_b3,_b4){if(this.isCreated()){throw new Error("You couldn't change this anymore. Widget is already created!");};return true;};proto.renderX=function(hint){if(hint=="parent-dimensions"||hint=="parent-width"){this._renderChildrenX("parent-width");};return QxWidget.prototype.renderX.call(this,hint);};proto.renderY=function(hint){if(hint=="parent-dimensions"||hint=="parent-height"){this._renderChildrenY("parent-height");};return QxWidget.prototype.renderY.call(this,hint);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js b/swat/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js
new file mode 100644
index 0000000000..0256852df8
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxInputCheckIcon(){QxWidget.call(this);this.setTagName("INPUT");this.setCanSelect(false);this.setTabIndex(-1);};QxInputCheckIcon.extend(QxWidget,"QxInputCheckIcon");QxInputCheckIcon.addProperty({name:"name",type:String,impl:"apply"});QxInputCheckIcon.addProperty({name:"value",impl:"apply"});QxInputCheckIcon.addProperty({name:"type",impl:"apply"});QxInputCheckIcon.addProperty({name:"checked",type:Boolean,defaultValue:false,impl:"apply",getAlias:"isChecked"});proto._modifyApply=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty(_b3,_b1);};proto.isLoaded=proto.getLoaded=function(){return true;};proto.getPreferredWidth=function(){return 13;};proto.getPreferredHeight=function(){return 13;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxLayout.js b/swat/style/qooxdoo/widgets/widgets/QxLayout.js
new file mode 100644
index 0000000000..804d99680f
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxLayout.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxLayout(){QxWidget.call(this);};QxLayout.extend(QxWidget,"QxLayout");proto._onnewchild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"append-child"):this._d1("append-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"append-child"):this._d2("append-child");};proto._onremovechild=function(otherObject){this.getWidth()=="auto"?this._setChildrenDependWidth(otherObject,"remove-child"):this._d1("remove-child");this.getHeight()=="auto"?this._setChildrenDependHeight(otherObject,"remove-child"):this._d2("remove-child");};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderVertical("parent");};};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};this._d2(_e5);switch(_e5){case "position-and-size":case "position":break;default:if(this.getWidth()=="auto"){return this._setChildrenDependWidth(vModifiedChild,_e5);}else {this._d1(_e5,vModifiedChild);};};QxWidget.prototype._childOuterWidthChanged.call(this,vModifiedChild,_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};switch(_e5){case "position-and-size":case "position":break;default:if(this.getHeight()=="auto"){return this._setChildrenDependHeight(vModifiedChild,_e5);}else {this._d2(_e5,vModifiedChild);};};QxWidget.prototype._childOuterHeightChanged.call(this,vModifiedChild,_e5);};proto._setChildrenDependWidth=function(_e4,_e5){var newWidth=this._d5Width(_e4,_e5);if(this._widthMode=="inner"&&this._widthModeValue==newWidth){if(_e5=="size"){return this._d1(_e5);};}else {this.setInnerWidth(newWidth,null,true);};return true;};proto._setChildrenDependHeight=function(_e4,_e5){var newHeight=this._d5Height(_e4,_e5);if(this._heightMode=="inner"&&this._heightModeValue==newHeight){if(_e5=="size"){return this._d2(_e5);};}else {this.setInnerHeight(newHeight,null,true);};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxList.js b/swat/style/qooxdoo/widgets/widgets/QxList.js
new file mode 100644
index 0000000000..702f2081c1
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxList.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxList(){QxWidget.call(this);this.setCanSelect(false);this.setOverflow("auto");this.setTabIndex(1);this._manager=new QxSelectionManager(this);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("keydown",this._g4);this.addEventListener("keypress",this._g6);};QxList.extend(QxWidget,"QxList");QxList.addProperty({name:"enableInlineFind",type:Boolean,defaultValue:true});proto.isFocusRoot=function(){return true;};proto._pressedString="";proto._visualizeBlur=function(){};proto._visualizeFocus=function(){};proto.getManager=function(){return this._manager;};proto.getListItemTarget=function(vItem){while(vItem!=null&&vItem.getParent()!=this){vItem=vItem.getParent();};return vItem;};proto.getSelectedItem=function(){return this.getSelectedItems()[0];};proto.getSelectedItems=function(){return this._manager.getSelectedItems();};proto._onmouseover=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleMouseOver(vItem,e);};};proto._g1=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleMouseDown(vItem,e);};};proto._g2=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleMouseUp(vItem,e);};};proto._g3=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleClick(vItem,e);};};proto._ondblclick=function(e){var vItem=this.getListItemTarget(e.getTarget());if(vItem){this._manager.handleDblClick(vItem,e);};};proto._g4=function(e){var kc=e.getKeyCode();if(kc==QxKeyEvent.keys.enter&&!e.getAltKey()){var items=this.getSelectedItems();var currentItem;for(var i=0;i<items.length;i++){currentItem=items[i];if(currentItem.hasEventListeners("action")){currentItem._dispachEvent(new QxEvent("action"));};};}else {this._manager.handleKeyDown(e);};};this._lastKeyPress=0;proto._g6=function(e){if(!this.getEnableInlineFind()){return;};if(((new Date).valueOf()-this._lastKeyPress)>1000){this._pressedString="";};this._pressedString+=String.fromCharCode(e.getKeyCode());var matchedItem=this.findString(this._pressedString,null);if(matchedItem){var oldVal=this._manager._getChangeValue();var oldFireChange=this._manager.getFireChange();this._manager.setFireChange(false);this._manager._j7();this._manager.setItemSelected(matchedItem,true);this._manager.setAnchorItem(matchedItem);this._manager.setLeadItem(matchedItem);matchedItem.scrollIntoView();this._manager.setFireChange(oldFireChange);if(oldFireChange&&this._manager._j8(oldVal)){this._manager._j1();};};this._lastKeyPress=(new Date).valueOf();e.preventDefault();};proto._findItem=function(vUserValue,vStartIndex,vType){var vAllItems=this.getChildren();if(vStartIndex==null){vStartIndex=vAllItems.indexOf(this.getSelectedItem());if(vStartIndex==-1){vStartIndex=0;};};var methodName="matches"+vType;for(var i=vStartIndex;i<vAllItems.length;i++){if(vAllItems[i][methodName](vUserValue)){return vAllItems[i];};};for(var i=0;i<vStartIndex;i++){if(vAllItems[i][methodName](vUserValue)){return vAllItems[i];};};return null;};proto.findString=function(vText,vStartIndex){return this._findItem(vText,vStartIndex||0,"String");};proto.findStringExact=function(vText,vStartIndex){return this._findItem(vText,vStartIndex||0,"StringExact");};proto.getPreferredHeight=function(){var ch=this.getChildren();var chl=ch.length;var sum=0;for(var i=0;i<chl;i++){sum+=ch[i].getPreferredHeight();};return sum;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxListItem.js b/swat/style/qooxdoo/widgets/widgets/QxListItem.js
new file mode 100644
index 0000000000..864c9d086b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxListItem.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxListItem(vText,vIcon,vValue){QxAtom.call(this,vText,vIcon);if(isValid(vValue)){this.setValue(vValue);};this.setWidth(null);this.setLeft(0);this.setRight(0);this.setCanSelect(false);this.setTimerCreate(false);};QxListItem.extend(QxAtom,"QxListItem");QxListItem.addProperty({name:"value",type:String});proto.matchesString=function(vText){return vText!=""&&this.getText().toLowerCase().indexOf(vText.toLowerCase())==0;};proto.matchesStringExact=function(vText){return vText!=""&&this.getText().toLowerCase()==String(vText).toLowerCase();}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxListView.js b/swat/style/qooxdoo/widgets/widgets/QxListView.js
new file mode 100644
index 0000000000..7009af04a2
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxListView.js
@@ -0,0 +1,7 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxListView(columns){QxWidget.call(this);this._columns=typeof columns=="object"&&columns!=null?columns:[];this._columnsLength=this._columns.length-1;this._k1=[];this._selection={};this._selectionLength=0;this._selectionMode="none";this._fragment=QxListView._useFragment?document.createDocumentFragment():document.createElement("div");this._rowCreateQueue=[];this._rowCreateTimer=new QxTimer(10);this._rowCreateTimer.addEventListener("interval",this._onrowcreate,this);this._rowCreateTimer.start();this._rowAppendQueue=[];this._rowAppendTimer=new QxTimer(100);this._rowAppendTimer.addEventListener("interval",this._onrowappend,this);this._rowAppendTimer.start();this._scrollSmoothTimer=new QxTimer(1);this._scrollSmoothTimer.addEventListener("interval",this._onscrollsmooth,this);if((new QxClient).isOpera()){this._scrollEmuTimer=new QxTimer(100);this._scrollEmuTimer.addEventListener("interval",this._onscrollemu,this);this._scrollEmuTimer.start();};this._nodeRowCache=[];this._nodeHeaderColsCache=[];this._nodeContentColsCache=[];this._nodeHeaderCellCache=[];this._nodeContentFirstRowCellCache=[];this._nodeHeaderInnerTableCache=[];this._nodeHeaderInnerTextCellCache=[];this._nodeHeaderInnerTextBoxCache=[];this._nodeHeaderInnerSortCellCache=[];this._nodeHeaderInnerSortIconCache=[];this.addEventListener("click",this._g3);this.addEventListener("mousewheel",this._onmousewheel);};QxListView.extend(QxWidget,"QxListView");QxListView._useFragment=Boolean(document.createDocumentFragment);proto._initialRowCount=100;proto._perLoopRowCreateCount=5;proto._perLoopRowAppendCount=100;proto._modifyElement=function(_b1,_b2,_b3,_b4){this._contentProtoRow=QxListView._contentProtoRow.cloneNode(true);QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);this._header=QxListView._headerProtoFrame.cloneNode(true);this._headerTable=this._header.firstChild;this._headerColGroup=this._headerTable.firstChild;this._headerBody=this._headerTable.lastChild;this._headerRow=this._headerBody.firstChild;this._headerStyle=this._header.style;this._headerTableStyle=this._headerTable.style;_b1.appendChild(this._header);this._content=QxListView._contentProtoFrame.cloneNode(true);this._contentTable=this._content.firstChild;this._contentColGroup=this._contentTable.firstChild;this._contentBody=this._contentTable.lastChild;var o=this;this._content.onscroll=function(){o._onscroll();};_b1.appendChild(this._content);this._cacheAdditionalColumnData();try{var d=this._columns;var l=d.length;for(var i=0;i<l;i++){this._addColumn(d[i]);};}catch(ex){throw new Error("Failed to apply columns:"+ex);};var q=this._rowCreateQueue;var l=Math.min(this._initialRowCount-1,q.length);for(var i=0;i<l;i++){this._contentBody.appendChild(this._createRow(q.shift()));};this._renderTableLayoutInitial();return true;};proto._cacheAdditionalColumnData=function(){var d=this._columns;var l=d.length;var c;for(var i=0;i<l;i++){c=d[i];c.contentType=typeof c.content;c.contentLength=c.content.length-1;c.hasStaticWidth=typeof c.width=="number";c.hasDynamicWidth=!c.hasStaticWidth;c.hasScaleWidth=c.width=="scale";c.hasScaleFactor=typeof c.scaleFactor=="number";c.hasMaxWidthLimit=typeof c.maxWidth=="number";c.hasMinWidthLimit=typeof c.minWidth=="number";if(c.hasStaticWidth&&c.hasScalingWidth){throw new Error("Malformed column dimensions![1:static scaling conflict]");};if(c.hasMinWidthLimit&&c.hasMaxWidthLimit&&c.maxWidth<=c.minWidth){throw new Error("Malformed column dimensions![2:min max conflict]");};if(c.hasScalingFactor&&!c.hasScalingWidth){throw new Error("Malformed column dimensions![3:scaling conflict]");};};};proto._onrowcreate=function(){if(!this.isCreated()){return;};var q=this._rowCreateQueue;var l=q.length-1;if(l==-1){this._rowCreateTimer.stop();return;};l=Math.min(this._perLoopRowCreateCount,l);do{this._fragment.appendChild(this._createRow(q.shift()));}while(l--);};proto._onrowappend=function(){if(this._fragment.childNodes.length>this._perLoopRowAppendCount){this._onrowappenddo();return;};if(this._rowCreateQueue.length==0){this._onrowappenddo();this._rowAppendTimer.stop();if(this.hasEventListeners("complete")){this.dispatchEvent(new QxEvent("complete"),true);};return;};};if(QxListView._useFragment){proto._onrowappenddo=function(){this._contentBody.appendChild(this._fragment);};}else {proto._onrowappenddo=function(){var f=this._fragment;var l=f.childNodes.length;for(var i=0;i<l;i++){this._contentBody.appendChild(f.firstChild);};};};proto.addData=function(entry){this._validateData(entry);entry.hash="h"+String(Math.round(Math.random()*1e6));entry.pos=this._k1.length;this._k1.push(entry);this._rowCreateQueue.push(entry);};proto._validateData=function(entry){var currentColumn,currentContent,currentContentLength,currentId,currentDefaults,arrayEntry;var columns=this._columns,columnsLength=columns.length;var i,j;for(i=0;i<columnsLength;i++){currentColumn=columns[i];currentContent=currentColumn.content;currentId=currentColumn.id;switch(typeof currentContent){case "string":if(typeof entry[currentId]=="undefined"){if(typeof currentColumn.defaultValue!="undefined"){entry[currentId]=currentColumn.defaultValue;}else{entry[currentId]=this._validateDataDefaultGetter(currentContent);};};break;case "number":case "boolean":if(typeof entry[currentId]=="undefined"){if(typeof currentColumn.defaultValue!="undefined"){entry[currentId]=String(currentColumn.defaultValue);}else{entry[currentId]=String(this._validateDataDefaultGetter(currentContent));};};break;case "object":arrayEntry=entry[currentId];currentDefaults=currentColumn.defaultValues;currentContentLength=currentContent.length;switch(typeof arrayEntry){case "object":if(currentDefaults){for(j=0;j<currentContentLength;j++){switch(typeof arrayEntry[j]){case "number":case "boolean":arrayEntry[j]=String(arrayEntry[j]);break;case "undefined":arrayEntry[j]=typeof currentDefaults[j]!="undefined"?currentDefaults[j]:this._validateDataDefaultGetter(currentContent[j]);break;};};}else {for(j=0;j<currentContentLength;j++){switch(typeof arrayEntry[j]){case "number":case "boolean":arrayEntry[j]=String(arrayEntry[j]);break;case "undefined":arrayEntry[j]=this._validateDataDefaultGetter(currentContent[j]);break;};};};break;default:arrayEntry=entry[currentId]=[];if(currentDefaults){for(j=0;j<currentContentLength;j++){arrayEntry.push(typeof currentDefaults[j]!="undefined"?currentDefaults[j]:this._validateDataDefaultGetter(currentContent[j]));};}else{for(j=0;j<currentContentLength;j++){arrayEntry.push(this._validateDataDefaultGetter(currentContent[j]));};};break;};break;default:throw new Error("Unsupported content type:"+currentType);};};};proto._validateDataDefaultGetter=function(cType){switch(cType){case "text":return String.fromCharCode(160);case "image":return(new QxImageManager).buildURI("core/blank.gif");default:throw new Error("No default Value available for content:"+cType);};};proto._pushSingleElementDo=function(parentNode,elemNode){parentNode.appendChild(elemNode);return true;};proto._pushSingleElement=function(parentNode,elemType){switch(elemType){case "text":return this._pushSingleElementDo(parentNode,QxListView._protoTypeElements.text.cloneNode(true));case "image":return this._pushSingleElementDo(parentNode,QxListView._protoTypeElements.image.cloneNode(true));default:throw new Error("Unsupported type:"+elemType);};};proto._pushElements=function(parentNode,contentInfo){if(typeof contentInfo=="object"){var contentInfoLength=contentInfo.length;for(var i=0;i<contentInfoLength;i++){this._pushSingleElement(parentNode,contentInfo[i]);};}else if(typeof contentInfo=="string"){this._pushSingleElement(parentNode,contentInfo);}else {this.debug("Unknown type:"+contentInfo);};};proto._addColumn=function(colData){var headerCell=QxListView._headerProtoCell.cloneNode(true);var headerInnerTable=headerCell.firstChild;var headerInnerRow=headerInnerTable.firstChild.firstChild;var headerInnerTextCell=headerInnerRow.firstChild;var headerInnerTextBox=headerInnerTextCell.firstChild;var headerInnerSortCell=headerInnerRow.lastChild;var headerInnerSortImage=headerInnerSortCell.firstChild;var contentCell=QxListView._contentProtoCell.cloneNode(true);var contentBox=contentCell.firstChild;if(colData.image){var i=new Image();i.src=colData.image;if(typeof colData.imageWidth!="undefined")i.width=colData.imageWidth;if(typeof colData.imageHeight!="undefined")i.height=colData.imageHeight;headerInnerTextBox.appendChild(i);};if(colData.label){headerInnerTextBox.appendChild(document.createTextNode(colData.label));};this._pushElements(contentBox,colData.content);this._headerRow.appendChild(headerCell);this._contentProtoRow.appendChild(contentCell);var headerCol=document.createElement("col");this._headerColGroup.appendChild(headerCol);this._nodeHeaderColsCache.push(headerCol);var contentCol=document.createElement("col");this._contentColGroup.appendChild(contentCol);this._nodeContentColsCache.push(contentCol);if(typeof this._nodeRowCache=="undefined"){this._nodeRowCache=[];};var j=this._contentProtoRow.childNodes.length-1;this._nodeRowCache[j]=[];for(var i=0;i<contentBox.childNodes.length;i++){this._nodeRowCache[j].push(contentBox.childNodes[i]);};this._nodeHeaderCellCache.push(headerCell);this._nodeHeaderInnerTableCache.push(headerInnerTable);this._nodeHeaderInnerTextCellCache.push(headerInnerTextCell);this._nodeHeaderInnerTextBoxCache.push(headerInnerTextBox);this._nodeHeaderInnerSortCellCache.push(headerInnerSortCell);this._nodeHeaderInnerSortIconCache.push(headerInnerSortImage);var classNamePart=colData.id.toFirstUp();QxDOM.addClass(headerCell,"QxListViewHeaderCell-"+classNamePart);QxDOM.addClass(contentCell,"QxListViewContentCell-"+classNamePart);};proto._createRowDo=function(elemType,elemNode,elemContent){try{switch(elemType){case "text":elemNode.nodeValue=elemContent;break;case "image":elemNode.src=elemContent;break;default:throw new Error("Unsupported type #2:"+elemType);};}catch(ex){throw new Error("Failed to add Row:"+elemType+","+elemNode+","+elemContent+":"+ex);};};proto._createRow=function(rowData,rowTarget){var col,cols=this._columns,i=this._columnsLength,base;try{do
+{col=cols[i];base=this._nodeRowCache[i];switch(col.contentType){case "string":this._createRowDo(col.content,base[0],rowData[col.id]);break;case "object":j=col.contentLength;do{this._createRowDo(col.content[j],base[j],rowData[col.id][j]);}while(j--);break;};}while(i--);}catch(ex){throw new Error("Failed on column:"+i+":"+ex);};var newRow=this._contentProtoRow.cloneNode(true);newRow.style.display="";newRow._k1=rowData;return newRow;};proto.setSelection=function(newSelection,oldSelection){var i;var toSelect=[];var newSelectionLength=0;for(i in newSelection){if(!oldSelection[i]){toSelect.push(i);};newSelectionLength++;};var toDeselect=[];for(i in oldSelection){if(!newSelection[i]){toDeselect.push(i);};};var ch=this._contentBody.childNodes;var toSelectLength=toSelect.length;for(i=0;i<toSelectLength;i++){QxDOM.addClass(ch[toSelect[i]],"QxListViewContentRowSelected");};var toDeselectLength=toDeselect.length;for(i=0;i<toDeselectLength;i++){QxDOM.removeClass(ch[toDeselect[i]],"QxListViewContentRowSelected");};var changeSelectionLength=this._selectionLength!=newSelectionLength;if(changeSelectionLength){var newSelectionMode=this._evalSelectionMode(newSelectionLength);var changeSelectionMode=this._selectionMode!=newSelectionMode;};this._selection=newSelection;if(changeSelectionLength){this._selectionLength=newSelectionLength;if(changeSelectionMode){this._selectionMode=newSelectionMode;};};if(this.hasEventListeners("changeSelection")){this.dispatchEvent(new QxDataEvent("changeSelection",this._selection),true);};if(changeSelectionLength){if(this.hasEventListeners("changeSelectionLength")){this.dispatchEvent(new QxDataEvent("changeSelectionLength",this._selectionLength),true);};if(changeSelectionMode){if(this.hasEventListeners("changeSelectionMode")){this.dispatchEvent(new QxDataEvent("changeSelectionMode",this._selectionMode),true);};};};};proto.getSelection=function(){return this._selection;};proto.getSelectionLength=function(){return this._selectionLength;};proto.getSelectionMode=function(){return this._selectionMode;};proto._evalSelectionMode=function(l){switch(l){case 0:return "none";case 1:return "single";default:return "multi";};};proto._lastSelect=null;proto._g3=function(e){if(this.getContextMenu()){this.getContextMenu().setVisible(false);};var r=e.getDomTarget();var m=this.getElement();while(r!=m&&(r.nodeType!=1||r.tagName!="TR")){if(r.tagName=="TH"){return;};r=r.parentNode;};if(isInvalid(r._k1)){this.debug("Not a valid row:"+r);return;};var rowPosition=r._k1.pos;var oldSelection=this.getSelection();var newSelection={};if(e.getCtrlKey()){for(var i in oldSelection){newSelection[i]=oldSelection[i];};};if(e.getShiftKey()){if(this._lastSelect==null){return;};if(rowPosition<this._lastSelect){var istart=rowPosition,istop=this._lastSelect;}else{var istart=this._lastSelect,istop=rowPosition;};for(var i=istart;i<=istop;i++){newSelection[i]=true;};}else {if(e.getCtrlKey()&&newSelection[rowPosition]){delete newSelection[rowPosition];}else {newSelection[rowPosition]=true;this._lastSelect=rowPosition;};};this.setSelection(newSelection,oldSelection);};proto._onmousewheel=function(e){if(this.getContextMenu()){this.getContextMenu().setVisible(false);};this._content.scrollTop+=e.getWheelDelta()*-10;};proto._lastScrollLeft=0;proto._onscroll=function(){if(this.getContextMenu()){this.getContextMenu().setVisible(false);};this._syncScrollLeft();this._scrollSmoothTimer.start();};proto._onscrollsmooth=function(){if(this._content.scrollLeft==this._lastScrollLeft){this._scrollSmoothTimer.stop();};this._syncScrollLeft();};proto._onscrollemu=function(){if(this._content.scrollLeft!=this._lastScrollLeft){this._syncScrollLeft();};};proto._syncScrollLeft=function(){var s=this._content.scrollLeft;this._lastScrollLeft=s;this._headerTable.style.left=(-s)+"px";};proto._modifyHorizontalDimension=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyHorizontalDimension.call(this,_b1,_b2,_b3,_b4);if(_b3=="width"&&this._wasVisible){QxDOM.setWidth(this._header,QxDOM.getComputedInnerWidth(this._content));};return true;};proto._renderTableLayoutInitial=function(){QxDebugTimer("initiallayout");var hasScrollRight=QxDOM.getComputedScrollBarVisibleX(this._content);var hasScrollBottom=QxDOM.getComputedScrollBarVisibleY(this._content);QxDOM.setWidth(this._header,QxDOM.getComputedInnerWidth(this._content));var colLength=this._columnsLength;var todoValues=new Array(colLength);var todoValuesSum=0;var scaleColumns=[];var currentCol;var currentScaleColumn;var currentTodo;var firstRow=[];for(var i=0;i<this._columns.length;i++){firstRow.push(this._contentBody.firstChild.childNodes[i]);};var colLoop=colLength;do
+{currentCol=this._columns[colLoop];if(currentCol.hasStaticWidth){currentTodo=currentCol.width;}else {currentTodo=Math.max(this._nodeHeaderCellCache[colLoop].offsetWidth,firstRow[colLoop].offsetWidth);if(currentCol.hasMaxWidthLimit&&currentTodo>currentCol.maxWidth){currentTodo=currentCol.maxWidth;}else {if(currentCol.hasMinWidthLimit&&currentCol.minWidth>currentTodo){currentTodo=currentCol.minWidth;};};};todoValues[colLoop]=currentTodo;todoValuesSum+=currentTodo;}while(colLoop--);this._header.className=this._header.className.add("QxListViewHeaderOverflow"," ");this._content.className=this._content.className.add("QxListViewContentOverflow"," ");var innerAvail=QxDOM.getComputedInnerWidth(this._content)-todoValuesSum;if(innerAvail>0){var innerCurrentAvail=innerAvail;var innerAvailToShareCount=0;colLoop=colLength;do
+{currentCol=this._columns[colLoop];if(!currentCol.hasScaleWidth){continue;};if(currentCol.hasScaleFactor){currentTodo=todoValues[colLoop]+Math.floor(innerAvail*currentCol.scaleFactor);if(currentCol.hasMaxWidthLimit&&currentTodo>currentCol.maxWidth){currentTodo=currentCol.maxWidth;};innerCurrentAvail-=(currentTodo-todoValues[colLoop]);todoValues[colLoop]=currentTodo;}else {innerAvailToShareCount++;};}while(colLoop--);var currentAddTodo=0;colLoop=colLength;do
+{currentCol=this._columns[colLoop];if(!currentCol.hasScaleWidth){continue;};if(!currentCol.hasScaleFactor){currentTodo=todoValues[colLoop]+Math.floor(innerCurrentAvail/innerAvailToShareCount);if(currentCol.hasMaxWidthLimit&&currentTodo>currentCol.maxWidth){currentTodo=currentCol.maxWidth;};todoValues[colLoop]=currentTodo;};}while(colLoop--);};this._contentTable.removeChild(this._contentColGroup);var sum=0;var currentTextWidth,diff,tsize;colLoop=colLength;do
+{currentCol=this._columns[colLoop];currentTodo=todoValues[colLoop];this._nodeHeaderColsCache[colLoop].width=this._nodeContentColsCache[colLoop].width=currentTodo;sum+=currentTodo;diff=QxDOM.getComputedBoxWidth(this._nodeHeaderCellCache[colLoop])-QxDOM.getComputedBoxWidth(this._nodeHeaderInnerTextBoxCache[colLoop]);tsize=currentTodo-diff;if(tsize<20){this._nodeHeaderInnerSortCellCache[colLoop].style.display="none";diff=QxDOM.getComputedBoxWidth(this._nodeHeaderCellCache[colLoop])-QxDOM.getComputedBoxWidth(this._nodeHeaderInnerTextBoxCache[colLoop]);tsize=currentTodo-diff;};this._nodeHeaderInnerTextBoxCache[colLoop].style.width=tsize+"px";}while(colLoop--);this._contentTable.insertBefore(this._contentColGroup,this._contentBody);this.repaint();this._contentTable.style.width=this._headerTable.style.width=sum+"px";this._contentTable.style.tableLayout=this._headerTable.style.tableLayout="fixed";this._syncScrollLeft();this._header.style.visibility="visible";return true;};proto.dispose=function(){if(this._disposed)return;QxWidget.prototype.dispose.call(this);if(this._columns){for(var i=0;i<this._columnsLength;i++){delete this._columns[i];};};delete this._columns;delete this._columnsLength;if(this._k1){for(var i=0;i<this._k1.length;i++){delete this._k1[i];};};delete this._k1;delete this._selection;delete this._fragment;if(this._content){this._content.onscroll=null;};this.removeEventListener("click",this._g3);this.removeEventListener("mousewheel",this._onmousewheel);delete this._rowCreateQueue;if(this._rowCreateTimer){this._rowCreateTimer.removeEventListener("interval",this._onrowcreate,this);this._rowCreateTimer.dispose();delete this._rowCreateTimer;};delete this._rowAppendQueue;if(this._rowAppendTimer){this._rowAppendTimer.removeEventListener("interval",this._onrowappend,this);this._rowAppendTimer.dispose();delete this._rowAppendTimer;};if(this._scrollSmoothTimer){this._scrollSmoothTimer.removeEventListener("interval",this._onscrollsmooth,this);this._scrollSmoothTimer.dispose();delete this._scrollSmoothTimer;};if(this._scrollEmuTimer){this._scrollEmuTimer.removeEventListener("interval",this._onscrollemu,this);this._scrollEmuTimer.dispose();delete this._scrollEmuTimer;};delete this._nodeRowCache;delete this._nodeHeaderColsCache;delete this._nodeContentColsCache;delete this._nodeHeaderCellCache;delete this._nodeContentFirstRowCellCache;delete this._nodeHeaderInnerTableCache;delete this._nodeHeaderInnerTextCellCache;delete this._nodeHeaderInnerTextBoxCache;delete this._nodeHeaderInnerSortCellCache;delete this._nodeHeaderInnerSortIconCache;};QxListView.init=function(){var h1=document.createElement("div");var h2=document.createElement("table");var h3=document.createElement("colgroup");var h4=document.createElement("thead");var h5=document.createElement("tr");var h6=document.createElement("th");var h7=document.createElement("table");var h8=document.createElement("thead");var h9=document.createElement("tr");var h10=document.createElement("th");var h11=document.createElement("th");var h12=document.createElement("div");var h13=document.createElement("img");h1.className="QxListViewHeader";h2.className="QxListViewHeaderTable";h4.className="QxListViewHeaderBody";h5.className="QxListViewHeaderRow";h6.className="QxListViewHeaderCell";h7.className="QxListViewHeaderInner";h8.className="QxListViewHeaderInnerBody";h9.className="QxListViewHeaderInnerRow";h10.className="QxListViewHeaderInnerText";h11.className="QxListViewHeaderInnerSort";h12.className="QxListViewHeaderInnerTextBox";h13.className="QxListViewHeaderInnerSortImage";h13.src = (new QxImageManager).buildURI("widgets/arrows/down.gif");h13.style.visibility="hidden";h2.cellSpacing=h2.cellPadding="0";h7.cellSpacing=h7.cellPadding="0";if((new QxClient).isMshtml()){h1.unselectable=h2.unselectable=h4.unselectable=h5.unselectable=h6.unselectable=h7.unselectable=h8.unselectable=h9.unselectable=h10.unselectable=h11.unselectable=h12.unselectable=h13.unselectable="on";};h1.appendChild(h2);h2.appendChild(h3);h2.appendChild(h4);h4.appendChild(h5);h6.appendChild(h7);h7.appendChild(h8);h8.appendChild(h9);h9.appendChild(h10);h9.appendChild(h11);h10.appendChild(h12);h11.appendChild(h13);QxListView._headerProtoFrame=h1;QxListView._headerProtoCell=h6;var c1=document.createElement("div");var c2=document.createElement("table");var c3=document.createElement("colgroup");var c4=document.createElement("tbody");var c5=document.createElement("tr");var c6=document.createElement("td");var c7=document.createElement("div");c1.className="QxListViewContent";c2.className="QxListViewContentTable";c4.className="QxListViewContentBody";c5.className="QxListViewContentRow";c6.className="QxListViewContentCell";c7.className="QxListViewContentBox";c2.cellSpacing=c2.cellPadding="0";if((new QxClient).isMshtml()){c1.unselectable=c2.unselectable=c4.unselectable=c5.unselectable=c6.unselectable=c7.unselectable="on";};c1.appendChild(c2);c2.appendChild(c3);c2.appendChild(c4);c6.appendChild(c7);QxListView._contentProtoFrame=c1;QxListView._contentProtoRow=c5;QxListView._contentProtoCell=c6;QxListView._protoTypeElements={text:document.createTextNode(String.fromCharCode(160)),image:new Image()};QxListView._protoTypeElements.image.src=(new QxImageManager).buildURI("core/blank.gif");};QxListView.init(); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenu.js b/swat/style/qooxdoo/widgets/widgets/QxMenu.js
new file mode 100644
index 0000000000..4c060c488a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenu.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenu(){QxPopup.call(this);this.setWidth("auto");this.setHeight(null);this.setTimerCreate(false);this.setMinWidth(120);this._openTimer=new QxTimer(this.getOpenInterval());this._openTimer.addEventListener("interval",this._onopentimer,this);this._closeTimer=new QxTimer(this.getCloseInterval());this._closeTimer.addEventListener("interval",this._onclosetimer,this);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mousemove",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("keydown",this._g4);};QxMenu.extend(QxPopup,"QxMenu");QxMenu.addProperty({name:"iconContentGap",type:Number,defaultValue:4});QxMenu.addProperty({name:"textShortcutGap",type:Number,defaultValue:10});QxMenu.addProperty({name:"contentArrowGap",type:Number,defaultValue:6});QxMenu.addProperty({name:"hoverItem",type:Object});QxMenu.addProperty({name:"openItem",type:Object});QxMenu.addProperty({name:"opener",type:Object});QxMenu.addProperty({name:"parentMenu",type:Object});QxMenu.addProperty({name:"fastReopen",type:Boolean,defaultValue:false});QxMenu.addProperty({name:"openInterval",type:Number,defaultValue:250});QxMenu.addProperty({name:"closeInterval",type:Number,defaultValue:250});QxMenu.addProperty({name:"subMenuHorizontalOffset",type:Number,defaultValue:-3});QxMenu.addProperty({name:"subMenuVerticalOffset",type:Number,defaultValue:-2});QxMenu.addProperty({name:"minIconColumnWidth",type:Number,defaultValue:16});QxMenu.addProperty({name:"showIconColumnWithoutAnyIcon",type:Boolean,defaultValue:true});proto._menuManager=new QxMenuManager();proto._beforeShow=function(_b4){QxAtom.prototype._beforeShow.call(this,_b4);this._menuManager.add(this);this.bringToFront();this._makeActive();};proto._beforeHide=function(_b4){QxAtom.prototype._beforeHide.call(this,_b4);this.sendToBack();this._menuManager.remove(this);this._makeInactive();};proto._modifyHoverItem=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setState(null);};if(_b1){_b1.setState("hover");};return true;};proto._modifyOpenItem=function(_b1,_b2,_b3,_b4){var vMakeActive=false;if(_b2){var vOldSub=_b2.getMenu();if(vOldSub){vOldSub.setParentMenu(null);vOldSub.setOpener(null);vOldSub.setVisible(false);};};if(_b1){var vSub=_b1.getMenu();if(vSub){vSub.setOpener(_b1);vSub.setParentMenu(this);vSub.setTop(_b1.getComputedPageBoxTop()+this.getSubMenuVerticalOffset());vSub.setLeft(this.getComputedPageBoxLeft()+this.getComputedBoxWidth()+this.getSubMenuHorizontalOffset());vSub.setVisible(true);};};return true;};proto._modifyVisible=function(_b1,_b2,_b3,_b4){this.setHoverItem(null);this.setOpenItem(null);if(_b2){var vOpener=this.getOpener();if(vOpener&&vOpener.getState()!="hover"){vOpener.setState(null);};};return QxWidget.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto._setChildrenDependWidth=function(_e4,_e5){var vMaxPaddingLeft=0;var vMaxPaddingRight=0;var vMaxIconWidth=0;var vMaxTextWidth=0;var vMaxShortcutWidth=0;var vMaxArrowWidth=0;var vMaxTextWidth=0;var vMaxContentWidth=0;var vIconContentGap=this.getIconContentGap();var vContentArrowGap=this.getContentArrowGap();var vTextShortcutGap=this.getTextShortcutGap();var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc instanceof QxMenuButton){vMaxPaddingLeft=Math.max(vMaxPaddingLeft,chc.getComputedPaddingLeft());vMaxPaddingRight=Math.max(vMaxPaddingRight,chc.getComputedPaddingRight());vMaxIconWidth=Math.max(vMaxIconWidth,chc.getNeededIconWidth());vMaxArrowWidth=Math.max(vMaxArrowWidth,chc.getNeededArrowWidth());if(chc.getNeededShortcutWidth()>0){vMaxTextWidth=Math.max(vMaxTextWidth,chc.getNeededTextWidth());vMaxShortcutWidth=Math.max(vMaxShortcutWidth,chc.getNeededShortcutWidth());}else {vMaxContentWidth=Math.max(vMaxContentWidth,chc.getNeededTextWidth());};};};if(vMaxIconWidth>0||this.getShowIconColumnWithoutAnyIcon()){vMaxIconWidth=Math.max(vMaxIconWidth,this.getMinIconColumnWidth());};vMaxContentWidth=Math.max(vMaxContentWidth,(vMaxTextWidth+vTextShortcutGap+vMaxShortcutWidth));this._childIconPosition=vMaxPaddingLeft;var vUseIconWidth=vMaxIconWidth>0?(vMaxIconWidth+vIconContentGap):0;this._childTextPosition=this._childIconPosition+vUseIconWidth;var vUseEndPos=this._childTextPosition+vMaxContentWidth;var vUseMaxArrow=vMaxArrowWidth>0?vContentArrowGap+vMaxArrowWidth:4;var vUseInnerWidth=vMaxPaddingLeft+vUseEndPos+vUseMaxArrow+vMaxPaddingRight;var vUseOuterFrame=this.getComputedBorderLeft()+this.getComputedPaddingLeft()+this.getComputedPaddingRight()+this.getComputedBorderRight();var vUseOuterWidth=vUseInnerWidth+vUseOuterFrame;var vMinWidth=this.getMinWidth();if(vMinWidth!=null&&vUseOuterWidth<vMinWidth){vUseEndPos=vMinWidth-vUseOuterFrame-vMaxPaddingLeft-vMaxPaddingRight-vUseMaxArrow;};this._childShortcutPosition=vUseEndPos-vMaxShortcutWidth;this._childArrowPosition=vUseEndPos+vContentArrowGap;this.setWidth(vUseOuterWidth,null,true);};proto._onmouseover=function(e){var vParent=this.getParentMenu();if(vParent){vParent._closeTimer.stop();var vOpener=this.getOpener();if(vOpener){vParent.setHoverItem(vOpener);};};var t=e.getActiveTarget();if(t==this){this._openTimer.stop();this._closeTimer.start();this.setHoverItem(null);return;};var vOpen=this.getOpenItem();if(vOpen){this.setHoverItem(t);this._openTimer.stop();if(t.hasMenu()){if(this.getFastReopen()){this.setOpenItem(t);this._closeTimer.stop();}else {this._openTimer.start();};}else {this._closeTimer.start();};}else {this.setHoverItem(t);this._openTimer.stop();if(t.hasMenu()){this._openTimer.start();};};};proto._onmouseout=function(e){this._openTimer.stop();var t=e.getActiveTarget();if(t!=this&&t.hasMenu()){this._closeTimer.start();};this.setHoverItem(null);};proto._onopentimer=function(e){this._openTimer.stop();var vHover=this.getHoverItem();if(vHover&&vHover.hasMenu()){this.setOpenItem(vHover);};};proto._onclosetimer=function(e){this._closeTimer.stop();this.setOpenItem(null);};proto._g4=function(e){switch(e.getKeyCode()){case QxKeyEvent.keys.up:this._g4_up(e);break;case QxKeyEvent.keys.down:this._g4_down(e);break;case QxKeyEvent.keys.left:this._g4_left(e);break;case QxKeyEvent.keys.right:this._g4_right(e);break;case QxKeyEvent.keys.enter:this._g4_enter(e);break;default:return;};e.preventDefault();};proto._g4_up=function(e){var vHover=this.getHoverItem();var vPrev=vHover?vHover.isFirstChild()?this.getLastActiveChild():vHover.getPreviousActiveSibling([QxMenuSeparator]):this.getLastActiveChild();this.setHoverItem(vPrev);};proto._g4_down=function(e){var vHover=this.getHoverItem();var vNext=vHover?vHover.isLastChild()?this.getFirstActiveChild():vHover.getNextActiveSibling([QxMenuSeparator]):this.getFirstActiveChild();this.setHoverItem(vNext);};proto._g4_left=function(e){var vOpener=this.getOpener();if(vOpener instanceof QxMenuButton){var vOpenerParent=this.getOpener().getParent();vOpenerParent.setOpenItem(null);vOpenerParent.setHoverItem(vOpener);vOpenerParent._makeActive();}else if(vOpener instanceof QxMenuBarButton){var vOpenerParent=this.getOpener().getParent();(new QxApplication).setActiveWidget(vOpenerParent);vOpenerParent._g4(e);};};proto._g4_right=function(e){var vHover=this.getHoverItem();if(vHover){var vMenu=vHover.getMenu();if(vMenu){this.setOpenItem(vHover);vMenu.setHoverItem(vMenu.getFirstChild());return;};}else if(!this.getOpenItem()){var vFirst=this.getFirstActiveChild();if(vFirst){vFirst.hasMenu()?this.setOpenItem(vFirst):this.setHoverItem(vFirst);};};var vOpener=this.getOpener();if(vOpener instanceof QxMenuBarButton){var vOpenerParent=this.getOpener().getParent();(new QxApplication).setActiveWidget(vOpenerParent);vOpenerParent._g4(e);}else if(vOpener instanceof QxMenuButton&&vHover){var vOpenerParent=vOpener.getParent();while(vOpenerParent){if(vOpenerParent instanceof QxMenuBar){(new QxApplication).setActiveWidget(vOpenerParent);vOpenerParent._g4(e);break;};try{vOpenerParent=vOpenerParent.getOpener().getParent();}catch(ex){break;};};};};proto._g4_enter=function(e){var vHover=this.getHoverItem();if(vHover){vHover.execute();};(new QxMenuManager()).update();};proto.dispose=function(){if(this.getDisposed()){return;};if(this._openTimer){this._openTimer.dispose();this._openTimer=null;};if(this._closeTimer){this._closeTimer.dispose();this._closeTimer=null;};this.removeEventListener("mouseover",this._onmouseover);this.removeEventListener("mousemove",this._onmouseover);this.removeEventListener("mouseout",this._onmouseout);this.removeEventListener("keydown",this._g4);return QxPopup.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenuBar.js b/swat/style/qooxdoo/widgets/widgets/QxMenuBar.js
new file mode 100644
index 0000000000..81723c681b
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenuBar.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuBar(){QxWidget.call(this);this.addEventListener("keydown",this._g4);};QxMenuBar.extend(QxWidget,"QxMenuBar");QxMenuBar.addProperty({name:"menu",type:Object});proto._modifyMenu=function(_b1,_b2,_b3,_b4){if(_b2){_b2.getOpener().setState("normal",_b4);_b2.setVisible(false,_b4);};if(_b1){var vOpener=_b1.getOpener();_b1.setLeft(vOpener.getComputedPageBoxLeft(),_b4);_b1.setTop(vOpener.getComputedPageBoxBottom(),_b4);_b1.setVisible(true,_b4);};return true;};proto._g4=function(e){switch(e.getKeyCode()){case QxKeyEvent.keys.left:this._g4_left(e);break;case QxKeyEvent.keys.right:this._g4_right(e);break;};};proto._g4_left=function(e){var vMenu=this.getMenu();if(!vMenu){return;};var vOpener=vMenu.getOpener();if(!vOpener){return;};var vPrev=vOpener?vOpener.isFirstChild()?this.getLastActiveChild():vOpener.getPreviousActiveSibling():this.getLastActiveChild();vPrev.setState("pressed");var vPrevMenu=vPrev.getMenu();if(vPrevMenu){var vPrevFirst=vPrevMenu.getFirstActiveChild();if(vPrevFirst){vPrevMenu.setHoverItem(vPrevFirst);};};};proto._g4_right=function(e){var vMenu=this.getMenu();if(!vMenu){return;};var vOpener=vMenu.getOpener();if(!vOpener){return;};var vNext=vOpener?vOpener.isLastChild()?this.getFirstActiveChild():vOpener.getNextActiveSibling():this.getFirstActiveChild();vNext.setState("pressed");var vNextMenu=vNext.getMenu();if(vNextMenu){var vNextFirst=vNextMenu.getFirstActiveChild();if(vNextFirst){vNextMenu.setHoverItem(vNextFirst);};};};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("keydown",this._g4);return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenuBarButton.js b/swat/style/qooxdoo/widgets/widgets/QxMenuBarButton.js
new file mode 100644
index 0000000000..d78a61b862
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenuBarButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuBarButton(vText,vMenu){QxWidget.call(this);this.setCanSelect(false);if(isValid(vText)){this.setText(vText);};if(isValid(vMenu)){this.setMenu(vMenu);};this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("mousedown",this._g1);};QxMenuBarButton.extend(QxWidget,"QxMenuBarButton");QxMenuBarButton.addProperty({name:"text",type:String});QxMenuBarButton.addProperty({name:"menu"});QxMenuBarButton.addProperty({name:"status",type:String,defaultValue:"normal"});proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);if(_b1){if(!this._textNode){this._textNode=document.createTextNode(this.getText());};_b1.appendChild(this._textNode);}else if(_b2&&this._textNode){_b2.removeChild(this._textNode);};return true;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vParent=this.getParent();if(vParent.getMenu()==this.getMenu()){if(_b1==null||_b1=="hover"){vParent.setMenu(null,_b4);};}else if(_b1=="pressed"){vParent.setMenu(this.getMenu(),_b4);};return QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto._modifyText=function(_b1,_b2,_b3,_b4){if(!this.isCreated()){return true;};this._textNode.nodeValue=_b1;return true;};proto._modifyMenu=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setOpener(null,_b4);};if(_b1){_b1.setOpener(this,_b4);};return true;};proto._onmouseover=function(e){var vMenu=this.getParent().getMenu();if(vMenu!=this.getMenu()){this.setState(vMenu?"pressed":"hover");};};proto._onmouseout=function(e){if(this.getState()=="hover"){this.setState(null);};};proto._g1=function(e){if(e.isNotLeftButton()){return;};this.setState(this.getState()=="pressed"?"hover":"pressed");e.setPropagationStopped(true);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mouseover",this._onmouseover);this.removeEventListener("mouseout",this._onmouseout);this.removeEventListener("mousedown",this._g1);QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenuButton.js b/swat/style/qooxdoo/widgets/widgets/QxMenuButton.js
new file mode 100644
index 0000000000..09683cca93
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenuButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuButton(vText,vIcon,vCommand,vMenu){QxWidget.call(this);this.setHeight("auto");this.setLeft(0);this.setRight(0);this.setMinHeight(20);this.setTimerCreate(false);if(isValidString(vText)){this.setText(vText);};if(isValid(vIcon)){this.setIcon(vIcon);};if(isValid(vCommand)){this.setCommand(vCommand);};if(isValid(vMenu)){this.setMenu(vMenu);};this.addEventListener("mousedown",this._g1);};QxMenuButton.extend(QxWidget,"QxMenuButton");QxMenuButton.addProperty({name:"text",type:String});QxMenuButton.addProperty({name:"icon",type:String});QxMenuButton.addProperty({name:"menu",type:Object});proto._f1=null;proto._f2=null;proto._f3=null;proto._f4=null;proto._c1=false;proto._c2=false;proto._c3=false;proto._c4=false;proto._valueShortcut="";proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){if(this._c1&&!this._f1){this._e3Icon();};if(this._c2&&!this._f2){this._e3Text();};if(this._c3&&!this._f3){this._e3Shortcut();};if(this._c4&&!this._f4){this._e3Arrow();};};return QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){if(this._f2){this._f2.setEnabled(_b1,_b4);};if(this._f1){this._f1.setEnabled(_b1,_b4);};return QxWidget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);};proto._modifyIcon=function(_b1,_b2,_b3,_b4){this._c1=isValid(_b1);return true;};proto._modifyText=function(_b1,_b2,_b3,_b4){this._c2=isValid(_b1);return true;};proto._modifyCommand=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this._c3=true;this._valueShortcut=_b1.toString();}else {this._c3=false;this._valueShortcut="";};return true;};proto._modifyMenu=function(_b1,_b2,_b3,_b4){this._c4=isValid(_b1);return true;};proto.hasMenu=function(){return Boolean(this.getMenu());};proto._e3Icon=function(){var i=this._f1=new QxImage();i.setSource(this.getIcon());i.setAnonymous(true);i.setEnabled(this.isEnabled());i.setParent(this);i._addCssClassName("QxMenuButtonIcon");};proto._e3Text=function(){var t=this._f2=new QxContainer();t.setHtml(this.getText());t.setAnonymous(true);t.setEnabled(this.isEnabled());t.setParent(this);t._addCssClassName("QxMenuButtonText");};proto._e3Shortcut=function(){var s=this._f3=new QxContainer();s.setHtml(this._valueShortcut);s.setAnonymous(true);s.setEnabled(this.isEnabled());s.setParent(this);s._addCssClassName("QxMenuButtonShortcut");};proto._e3Arrow=function(){var a=this._f4=new QxImage();a.setSource("widgets/arrows/next.gif");a.setAnonymous(true);a.setEnabled(this.isEnabled());a.setParent(this);a._addCssClassName("QxMenuButtonArrow");};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");};proto._d1=function(_e5){var vParent=this.getParent();if(this._f1){this._f1._d3Horizontal(vParent._childIconPosition);};if(this._f2){this._f2._d3Horizontal(vParent._childTextPosition);};if(this._f3){this._f3._d3Horizontal(vParent._childShortcutPosition);};if(this._f4){this._f4._d3Horizontal(vParent._childArrowPosition);};};proto._d2=function(_e5){var vInner=this.getInnerHeight();if(this._f1){this._f1._d3Vertical((vInner-this._f1.getPreferredHeight())/2);};if(this._f2){this._f2._d3Vertical((vInner-this._f2.getPreferredHeight())/2);};if(this._f3){this._f3._d3Vertical((vInner-this._f3.getPreferredHeight())/2);};if(this._f4){this._f4._d3Vertical((vInner-this._f4.getPreferredHeight())/2);};};proto._setChildrenDependHeight=function(_e4,_e5){if(this._c1&&_e4==this._f1&&_e5=="unload"){return true;};var newHeight=this._d5Height(_e4,_e5);if(this._heightMode=="inner"&&this._heightModeValue==newHeight){switch(_e5){case "load":case "append-child":case "preferred":switch(_e4){case this._f1:case this._f2:case this._hintObject:case this._f4:return this._d2(_e5);};};}else {this.setInnerHeight(newHeight,null,true);};return true;};proto.getNeededIconWidth=function(){return this._c1?this._f1.getAnyWidth():0;};proto.getNeededTextWidth=function(){return this._c2?this._f2.getAnyWidth():0;};proto.getNeededShortcutWidth=function(){return this._c3?this._f3.getAnyWidth():0;};proto.getNeededArrowWidth=function(){return this._c4?this._f4.getAnyWidth():0;};proto._g1=function(e){this.execute();};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mousedown",this._g1);return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js b/swat/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js
new file mode 100644
index 0000000000..9b0e42402c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuCheckBox(vText,vCommand,vChecked){QxMenuButton.call(this,vText,this._source,vCommand);if(isValid(vChecked)){this.setChecked(vChecked);};};QxMenuCheckBox.extend(QxMenuButton,"QxMenuCheckBox");QxMenuCheckBox.addProperty({name:"name",type:String});QxMenuCheckBox.addProperty({name:"value",type:String});QxMenuCheckBox.addProperty({name:"checked",type:Boolean,defaultValue:false,getAlias:"isChecked"});proto._source = "widgets/menu/checkbox.gif";proto._e3Icon=function(){QxMenuButton.prototype._e3Icon.call(this);this._f1.setVisible(this.getChecked());};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setVisible(_b1);};return true;};proto.execute=function(){this.setChecked(!this.getChecked());QxMenuButton.prototype.execute.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js b/swat/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js
new file mode 100644
index 0000000000..68f596a4a3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuRadioButton(vText,vCommand,vChecked){QxMenuCheckBox.call(this,vText,vCommand,vChecked);};QxMenuRadioButton.extend(QxMenuCheckBox,"QxMenuRadioButton");QxMenuRadioButton.addProperty({name:"group"});proto._source = "widgets/menu/radiobutton.gif";proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this.getGroup()){this.getGroup().setSelected(this,_b4);};return QxMenuCheckBox.prototype._modifyChecked.call(this,_b1,_b2,_b3,_b4);};proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){if(this.getGroup()){this.getGroup().setName(_b1,_b4);};return true;};proto.execute=function(){this.setChecked(true);QxMenuButton.prototype.execute.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxMenuSeparator.js b/swat/style/qooxdoo/widgets/widgets/QxMenuSeparator.js
new file mode 100644
index 0000000000..ad200d535e
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxMenuSeparator.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxMenuSeparator(){QxWidget.call(this);this.setTimerCreate(false);this._line=new QxWidget();this._line.setCssClassName("QxMenuSeparatorLine");this._line.setAnonymous(true);this._line.setTimerCreate(false);this.add(this._line);this.addEventListener("mousedown",this._g1);};QxMenuSeparator.extend(QxWidget,"QxMenuSeparator");proto.hasMenu=function(){return false;};proto._modifyState=function(){return true;};proto._g1=function(e){e.stopPropagation();}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxPasswordField.js b/swat/style/qooxdoo/widgets/widgets/QxPasswordField.js
new file mode 100644
index 0000000000..3309fd6f26
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxPasswordField.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxPasswordField(vText){QxTextField.call(this,vText);this.setHtmlProperty("type","password");};QxPasswordField.extend(QxTextField,"QxPasswordField"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxPopup.js b/swat/style/qooxdoo/widgets/widgets/QxPopup.js
new file mode 100644
index 0000000000..055e6939d7
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxPopup.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxPopup(vText,vIcon){QxAtom.call(this,vText,vIcon);this.setZIndex(this._minZindex);};QxPopup.extend(QxAtom,"QxPopup");QxPopup.addProperty({name:"autoHide",type:Boolean,defaultValue:true});proto._minZindex=1e6;proto._showTimeStamp=new Date(0);proto._hideTimeStamp=new Date(0);proto._popupManager=new QxPopupManager();proto._beforeShow=function(_b4){QxAtom.prototype._beforeShow.call(this,_b4);this._popupManager.add(this);this._popupManager.update(this);this._showTimeStamp=new Date;this.bringToFront();};proto._beforeHide=function(_b4){QxAtom.prototype._beforeHide.call(this,_b4);this.sendToBack();this._popupManager.remove(this);this._hideTimeStamp=new Date;};proto._makeActive=function(){(new QxApplication).setActiveWidget(this);};proto._makeInactive=function(){var vApp=new QxApplication;if(vApp.getActiveWidget()==this){vApp.setActiveWidget(vApp.getClientWindow().getClientDocument());};};proto._shouldBecomeCreated=function(){return false;};proto.getCanFocus=function(){return false;};if((new QxClient).isMshtml()){proto.sendToBack=function(){if(!this.isCreated()||!this.getParent()){return;};var min=Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.children;var zi;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){zi=cs[i].currentStyle.zIndex;if(zi>this._minZindex){min=Math.min(min,zi);};};};this.setZIndex(min-1);};proto.bringToFront=function(){if(!this.isCreated()||!this.getParent()){return;};var max=-Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.children;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){max=Math.max(max,cs[i].currentStyle.zIndex);};};this.setZIndex(max+1);};}else {proto.sendToBack=function(){if(!this.isCreated()||!this.getParent()){return;};var min=Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.childNodes;var view=d.defaultView;var zi;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){zi=cs[i].style.zIndex;if(zi==""||isNaN(zi)){zi=view.getComputedStyle(cs[i],"").zIndex;if(zi==""||isNaN(zi)){zi=0;};};if(zi>this._minZindex){min=Math.min(min,zi);};};};this.setZIndex(min-1);};proto.bringToFront=function(){if(!this.isCreated()||!this.getParent()){return;};var max=-Infinity;var d=this.getTopLevelWidget().getDocumentElement();var cs=d.body.childNodes;var view=d.defaultView;var zi;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1){zi=cs[i].style.zIndex;if(zi==""||isNaN(zi)){zi=view.getComputedStyle(cs[i],"").zIndex;if(zi==""||isNaN(zi)){zi=0;};};max=Math.max(max,zi);};};this.setZIndex(max+1);};};proto.getShowTimeStamp=function(){return this._showTimeStamp;};proto.getHideTimeStamp=function(){return this._hideTimeStamp;};proto.dispose=function(){if(this.getDisposed()){return;};if(this._popupManager){this._popupManager.remove(this);this._popupManager=null;};return QxAtom.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxRadioButton.js b/swat/style/qooxdoo/widgets/widgets/QxRadioButton.js
new file mode 100644
index 0000000000..341aad500a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxRadioButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxRadioButton(vText,vValue,vName,vChecked,vGroup){QxCheckBox.call(this,vText,vValue,vName,vChecked);if(isValid(vGroup)){this.setGroup(vGroup);};};QxRadioButton.extend(QxCheckBox,"QxRadioButton");QxRadioButton.addProperty({name:"group"});proto._e3Icon=function(){var i=this._f1=new QxInputCheckIcon();i.setType("radio");i.setChecked(this.isChecked());i.setEnabled(this.isEnabled());i.setAnonymous(true);i.setParent(this);};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this._f1){this._f1.setChecked(_b1,_b4);};if(this.getGroup()){this.getGroup().setSelected(this,_b4);};return true;};proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._modifyName=function(_b1,_b2,_b3,_b4){if(this.isCreated()&&this._f1){this._f1.setName(_b1,_b4);};if(this.getGroup()){this.getGroup().setName(_b1,_b4);};return true;};proto._modifyValue=function(_b1,_b2,_b3,_b4){if(this.isCreated()&&this._f1){this._f1.setValue(_b1,_b4);};return true;};proto._g4=function(e){switch(e.getKeyCode()){case QxKeyEvent.keys.enter:if(!e.getAltKey()){this.setChecked(this._f1?!this._f1.isChecked():!this.isChecked());};break;case QxKeyEvent.keys.left:case QxKeyEvent.keys.up:return this.getGroup()?this.getGroup().selectPrevious(this):true;case QxKeyEvent.keys.right:case QxKeyEvent.keys.down:return this.getGroup()?this.getGroup().selectNext(this):true;};};proto._g3=function(e){this.setChecked(true);};proto.dispose=function(){if(this.getDisposed()){return;};return QxCheckBox.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxSpinner.js b/swat/style/qooxdoo/widgets/widgets/QxSpinner.js
new file mode 100644
index 0000000000..81725cb753
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxSpinner.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxSpinner(min,value,max){QxWidget.call(this);this.setWidth(60);this.setHeight(22);this.setBorder(QxBorder.presets.inset);this.setTabIndex(-1);this._manager=new QxRangeManager();this._textfield=new QxTextField();this._textfield.set({left:0,right:16,bottom:0,top:0,textAlign:"right",text:this._manager.getValue()});this.add(this._textfield);this._upbutton=new QxWidget();this._upbutton.set({top:0,bottom:"50%",width:16,right:0,border:QxBorder.presets.outset,canSelect:false});this._upbuttonimage = new QxImage("widgets/arrows/up_small.gif", 5, 3);this._upbuttonimage.set({top:1,left:3,anonymous:true});this._upbutton.add(this._upbuttonimage);this.add(this._upbutton);this._downbutton=new QxWidget();this._downbutton.set({top:"50%",bottom:0,width:16,right:0,border:QxBorder.presets.outset,canSelect:false});this._downbuttonimage = new QxImage("widgets/arrows/down_small.gif", 5, 3);this._downbuttonimage.set({top:1,left:3,anonymous:true});this._downbutton.add(this._downbuttonimage);this.add(this._downbutton);this._timer=new QxTimer(this.getInterval());this.addEventListener("keypress",this._g6,this);this.addEventListener("keydown",this._g4,this);this.addEventListener("keyup",this._g5,this);this.addEventListener("mousewheel",this._onmousewheel,this);this._textfield.addEventListener("input",this._oninput,this);this._textfield.addEventListener("blur",this._onblur,this);this._upbutton.addEventListener("mousedown",this._g1,this);this._downbutton.addEventListener("mousedown",this._g1,this);this._manager.addEventListener("change",this._onchange,this);this._timer.addEventListener("interval",this._i7,this);if(isValidNumber(min)){this.setMin(min);};if(isValidNumber(max)){this.setMax(max);};if(isValidNumber(value)){this.setValue(value);};};QxSpinner.extend(QxWidget,"QxSpinner");QxSpinner.addProperty({name:"incrementAmount",type:Number,defaultValue:1});QxSpinner.addProperty({name:"wheelIncrementAmount",type:Number,defaultValue:1});QxSpinner.addProperty({name:"pageIncrementAmount",type:Number,defaultValue:10});QxSpinner.addProperty({name:"interval",type:Number,defaultValue:100});QxSpinner.addProperty({name:"firstInterval",type:Number,defaultValue:500});QxSpinner.addProperty({name:"minTimer",type:Number,defaultValue:20});QxSpinner.addProperty({name:"timerDecrease",type:Number,defaultValue:2});QxSpinner.addProperty({name:"amountGrowth",type:Number,defaultValue:1.01});proto.getPreferredHeight=function(){return 22;};proto.getPreferredWidth=function(){return 60;};proto._g6=function(e){var vCode=e.getKeyCode();if(vCode==QxKeyEvent.keys.enter&&!e.getAltKey()){this._checkValue(true,false,false);this._textfield.selectAll();}else {switch(vCode){case QxKeyEvent.keys.up:case QxKeyEvent.keys.down:case QxKeyEvent.keys.left:case QxKeyEvent.keys.right:case QxKeyEvent.keys.shift:case QxKeyEvent.keys.ctrl:case QxKeyEvent.keys.alt:case QxKeyEvent.keys.esc:case QxKeyEvent.keys.del:case QxKeyEvent.keys.backspace:case QxKeyEvent.keys.insert:case QxKeyEvent.keys.home:case QxKeyEvent.keys.end:case QxKeyEvent.keys.pageup:case QxKeyEvent.keys.pagedown:case QxKeyEvent.keys.numlock:case QxKeyEvent.keys.tab:break;default:if(vCode>=48&&vCode<=57){return;};e.preventDefault();};};};proto._g4=function(e){var vCode=e.getKeyCode();if(this._intervalIncrease==null){switch(vCode){case QxKeyEvent.keys.up:case QxKeyEvent.keys.down:this._intervalIncrease=vCode==QxKeyEvent.keys.up;this._intervalMode="single";this._resetIncrements();this._checkValue(true,false,false);this._increment();this._timer.startWith(this.getFirstInterval());break;case QxKeyEvent.keys.pageup:case QxKeyEvent.keys.pagedown:this._intervalIncrease=vCode==QxKeyEvent.keys.pageup;this._intervalMode="page";this._resetIncrements();this._checkValue(true,false,false);this._pageIncrement();this._timer.startWith(this.getFirstInterval());break;};};};proto._g5=function(e){if(this._intervalIncrease!=null){switch(e.getKeyCode()){case QxKeyEvent.keys.up:case QxKeyEvent.keys.down:case QxKeyEvent.keys.pageup:case QxKeyEvent.keys.pagedown:this._timer.stop();this._intervalIncrease=null;this._intervalMode=null;};};};proto._g1=function(e){if(e.isNotLeftButton()){return;};this._checkValue(true);var vButton=e.getCurrentTarget();vButton.setBorder(QxBorder.presets.inset);vButton.addEventListener("mouseup",this._g2,this);vButton.addEventListener("mouseout",this._g2,this);this._intervalIncrease=vButton==this._upbutton;this._resetIncrements();this._increment();this._textfield.selectAll();this._timer.setInterval(this.getFirstInterval());this._timer.start();};proto._g2=function(e){var vButton=e.getCurrentTarget();vButton.setBorder(QxBorder.presets.outset);vButton.removeEventListener("mouseup",this._g2,this);vButton.removeEventListener("mouseout",this._g2,this);this._textfield.selectAll();this._textfield.setFocused(true);this._timer.stop();this._intervalIncrease=null;};proto._onmousewheel=function(e){this._manager.setValue(this._manager.getValue()+this.getWheelIncrementAmount()*e.getWheelDelta());this._textfield.selectAll();};proto._oninput=function(e){this._checkValue(true,true);};proto._onchange=function(e){var vValue=this._manager.getValue();this._textfield.setText(vValue);if(vValue==this.getMin()){this._downbutton.setBorder(QxBorder.presets.outset);this._downbutton.setEnabled(false);this._downbuttonimage.setEnabled(false);this._timer.stop();}else {this._downbutton.setEnabled(true);this._downbuttonimage.setEnabled(true);};if(vValue==this.getMax()){this._upbutton.setBorder(QxBorder.presets.outset);this._upbutton.setEnabled(false);this._upbuttonimage.setEnabled(false);this._timer.stop();}else {this._upbutton.setEnabled(true);this._upbuttonimage.setEnabled(true);};if(this.hasEventListeners("change")){this.dispatchEvent(new QxEvent("change"));};};proto._onblur=function(e){this._checkValue(false);};proto.setValue=function(nValue){this._manager.setValue(nValue);};proto.getValue=function(){this._checkValue(true);return this._manager.getValue();};proto.resetValue=function(){return this._manager.resetValue();};proto.setMax=function(vMax){return this._manager.setMax(vMax);};proto.getMax=function(){return this._manager.getMax();};proto.setMin=function(vMin){return this._manager.setMin(vMin);};proto.getMin=function(){return this._manager.getMin();};proto._intervalIncrease=null;proto._i7=function(e){this._timer.stop();this.setInterval(Math.max(this.getMinTimer(),this.getInterval()-this.getTimerDecrease()));if(this._intervalMode=="page"){this._pageIncrement();}else {if(this.getInterval()==this.getMinTimer()){this.setIncrementAmount(this.getAmountGrowth()*this.getIncrementAmount());};this._increment();};switch(this._intervalIncrease){case true:if(this.getValue()==this.getMax()){return;};case false:if(this.getValue()==this.getMin()){return;};};this._timer.restartWith(this.getInterval());};proto._checkValue=function(acceptEmpty,acceptEdit){var el=this._textfield.getElement();if(!el){return;};if(el.value==""){if(!acceptEmpty){el.value=this.resetValue();this._textfield.selectAll();return;};}else {var val=el.value;if(val.length>1){while(val.charAt(0)=="0"){val=val.substr(1,val.length);};var f1=parseInt(val)||0;if(f1!=el.value){el.value=f1;return;};};if(val=="-"&&acceptEmpty&&this.getMin()<0){if(el.value!=val){el.value=val;};return;};val=parseInt(val);var doFix=true;var fixedVal=this._manager._checkValue(val);if(isNaN(fixedVal)){fixedVal=this._manager.getValue();};if(acceptEmpty&&val==""){doFix=false;}else if(!isNaN(val)){if(acceptEdit){if(val>fixedVal&&!(val>0&&fixedVal<=0)&&String(val).length<String(fixedVal).length){doFix=false;}else if(val<fixedVal&&!(val<0&&fixedVal>=0)&&String(val).length<String(fixedVal).length){doFix=false;};};};if(doFix&&el.value!=fixedVal){el.value=fixedVal;};if(!acceptEdit){this._manager.setValue(fixedVal);};};};proto._increment=function(){this._manager.setValue(this._manager.getValue()+((this._intervalIncrease?1:-1)*this.getIncrementAmount()));};proto._pageIncrement=function(){this._manager.setValue(this._manager.getValue()+((this._intervalIncrease?1:-1)*this.getPageIncrementAmount()));};proto._resetIncrements=function(){this.resetIncrementAmount();this.resetInterval();};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("keypress",this._g6,this);this.removeEventListener("keydown",this._g4,this);this.removeEventListener("keyup",this._g5,this);if(this._textfield){this._textfield.removeEventListener("blur",this._onblur,this);this._textfield.dispose();this._textfield=null;};if(this._upbutton){this._upbutton.removeEventListener("mousedown",this._g1,this);this._upbutton.dispose();this._upbutton=null;};if(this._downbutton){this._downbutton.removeEventListener("mousedown",this._g1,this);this._downbutton.dispose();this._downbutton=null;};if(this._timer){this._timer.removeEventListener("interval",this._i7,this);this._timer.stop();this._timer.dispose();this._timer=null;};if(this._manager){this._manager.removeEventListener("change",this._onchange,this);this._manager.dispose();this._manager=null;};return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTab.js b/swat/style/qooxdoo/widgets/widgets/QxTab.js
new file mode 100644
index 0000000000..620884e78a
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTab.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTab(vText,vIcon,vIconWidth,vIconHeight,vChecked){QxAtom.call(this,vText,vIcon,vIconWidth,vIconHeight);if(isValid(vChecked)){this.setChecked(vChecked);};this.setTabIndex(1);this.addEventListener("mousedown",this._g1);this.addEventListener("keyup",this._g5);};QxTab.extend(QxAtom,"QxTab");QxTab.addProperty({name:"page",type:Object});QxTab.addProperty({name:"group"});QxTab.addProperty({name:"name",type:String});QxTab.addProperty({name:"checked",type:Boolean});proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._modifyParent=function(_b1,_b2,_b3,_b4){QxToolBarRadioButton.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);if(_b2){_b2.getManager().remove(this);};if(_b1){_b1.getManager().add(this);};return true;};proto._modifyPage=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setTab(null,_b4);};if(_b1){_b1.setTab(this,_b4);};return true;};proto._modifyChecked=function(_b1,_b2,_b3,_b4){if(this.getGroup()){this.getGroup().setSelected(this,_b4);};var vPage=this.getPage();if(vPage){vPage.setVisible(_b1);};this.setState(_b1?"checked":null,_b4);return true;};proto._visualizeFocus=function(){};proto._visualizeBlur=function(){};proto._g5=function(e){var vPrevious;switch(e.getKeyCode()){case QxKeyEvent.keys.left:vPrevious=this.getParent().getAlignTabsToLeft();break;case QxKeyEvent.keys.right:vPrevious=!this.getParent().getAlignTabsToLeft();break;default:return;};var vChild=vPrevious?this.isFirstChild()?this.getParent().getLastChild():this.getPreviousSibling():this.isLastChild()?this.getParent().getFirstChild():this.getNextSibling();vChild.setFocused(true);vChild.setChecked(true);};proto._g1=function(e){this.setFocused(true);this.setChecked(true);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mousedown",this._g1);this.removeEventListener("keyup",this._g5);QxAtom.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTabBar.js b/swat/style/qooxdoo/widgets/widgets/QxTabBar.js
new file mode 100644
index 0000000000..4370d8c7f1
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTabBar.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTabBar(){QxWidget.call(this);this.setLeft(0);this.setRight(0);this.setHeight("auto");this._updatePlacement();this._j3();this._manager=new QxRadioButtonManager();this._manager.addEventListener("changeSelected",this._onchange,this);};QxTabBar.extend(QxWidget,"QxTabBar");QxTabBar.addProperty({name:"placeOnTop",type:Boolean,defaultValue:true});QxTabBar.addProperty({name:"alignTabsToLeft",type:Boolean,defaultValue:true});QxTabBar.addProperty({name:"activeTabHeightDiff",type:Number,defaultValue:2});QxTabBar.addProperty({name:"activeTabOverlap",type:Number,defaultValue:2});proto.getManager=function(){return this._manager;};proto._modifyPlaceOnTop=function(_b1,_b2,_b3,_b4){this.getParent().setPlaceBarOnTop(_b1,_b4);this._updatePlacement();return true;};proto._modifyAlignTabsToLeft=function(_b1,_b2,_b3,_b4){this._j3();return true;};proto._onchange=function(e){this._layoutInternalWidgets("change-active-tab");};proto._updatePlacement=function(){if(this.getPlaceOnTop()){this.setBottom(null);this.setTop(0);}else {this.setTop(null);this.setBottom(0);};this._j3();};proto._j3=function(){this.setState((this.getPlaceOnTop()?"top":"bottom")+(this.getAlignTabsToLeft()?"Left":"Right"));};proto._layoutInternalWidgets=function(_e5){this._d1(_e5);this._d2(_e5);};proto._d1=function(_e5){if(!isValidString(_e5)||_e5=="position"){return;};var vPane=this.getParent().getPane();if(!this.isCreated()||!vPane.isCreated()){return true;};if(this.getAlignTabsToLeft()){var vReset="setRight";var vSet="setLeft";var vLastLeft=vPane.getComputedBorderLeft();}else {var vReset="setLeft";var vSet="setRight";var vLastLeft=vPane.getComputedBorderRight();};var ch=this.getChildren();var chl=ch.length;var chc;var vPref;var vLeft;var vIndex;for(var i=0;i<chl;i++){chc=ch[i];if(chc instanceof QxTab&&chc.getVisible()){vPref=chc.getPreferredWidth();if(vPref==null){return true;};chc[vReset](null);if(chc.getChecked()){vLeft=vLastLeft-this.getActiveTabOverlap();vLastLeft+=vPref-(2*this.getActiveTabOverlap());vIndex=2;}else {vLeft=vLastLeft;vLastLeft+=vPref;vIndex=1;};chc[vSet](vLeft);chc.setZIndex(vIndex);};};};proto._d2=function(_e5){var vPane=this.getParent().getPane();if(!this.isCreated()||!vPane.isCreated()){return true;};var vActiveDiff=this.getActiveTabHeightDiff();var vMax=this._maxHeight;var vActiveMax=this._maxActiveHeight;if(this.getPlaceOnTop()){var vReset="setBottom";var vSet="setTop";var vPaneBorder=vPane.getComputedBorderTop();}else {var vReset="setTop";var vSet="setBottom";var vPaneBorder=vPane.getComputedBorderBottom();};var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];if(chc instanceof QxTab&&chc.getVisible()){chc[vReset](null);if(chc.getChecked()){chc[vSet](0);chc.setHeight(vActiveMax);}else {chc[vSet](vActiveDiff);chc.setHeight("auto");chc.setMinHeight(vMax);};};};};proto._onnewchild=function(otherObject){this._d1("append-child");};proto._onremovechild=function(otherObject){this._d1("remove-child");};proto._innerHeightChanged=function(){this._d4Height();this._d2("inner-height");};proto._innerWidthChanged=function(){this._d4Width();this._d1("inner-width");var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._childOuterWidthChanged=function(vModifiedChild,_e5){return !this._wasVisible?true:this.getWidth()=="auto"?this._setChildrenDependWidth(vModifiedChild,_e5):this._d1(_e5);};proto._childOuterHeightChanged=function(vModifiedChild,_e5){return !this._wasVisible?true:this.getHeight()=="auto"?this._setChildrenDependHeight(vModifiedChild,_e5):this._d2(_e5);};proto._maxHeight=0;proto._maxActiveHeight=0;proto._d5Height=function(_e4,_e5){var vPane=this.getParent().getPane();if(!vPane.isCreated()){return null;};var ch=this.getChildren();var chl=ch.length;var maxHeight=0;for(var i=0;i<chl;i++){maxHeight=Math.max(ch[i].getPreferredHeight(),maxHeight)};this._maxHeight=maxHeight;return this._maxActiveHeight=maxHeight+this.getActiveTabHeightDiff()+(this.getPlaceOnTop()?vPane.getComputedBorderTop():vPane.getComputedBorderBottom());};proto.dispose=function(){if(this.getDisposed()){return;};if(this._manager){this._manager.dispose();this._manager=null;};this._maxHeight=this._maxActiveHeight=null;QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTabFrame.js b/swat/style/qooxdoo/widgets/widgets/QxTabFrame.js
new file mode 100644
index 0000000000..7b42086dd7
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTabFrame.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTabFrame(){QxWidget.call(this);this._bar=new QxTabBar;this._pane=new QxTabPane;this.add(this._pane,this._bar);this._bar.addEventListener("resizeVertical",this._pane._applyState,this._pane);};QxTabFrame.extend(QxWidget,"QxTabFrame");QxTabFrame.addProperty({name:"placeBarOnTop",type:Boolean,defaultValue:true});proto.getPane=function(){return this._pane;};proto.getBar=function(){return this._bar;};proto._modifyPlaceBarOnTop=function(_b1,_b2,_b3,_b4){this._bar.setPlaceOnTop(_b1,_b4);this._pane.setState(_b1?"bottom":"top",_b4);return true;};proto.dispose=function(){if(this.getDisposed()){return true;};if(this._bar){this._bar.removeEventListener("resizeVertical",this._pane._applyState,this._pane);this._bar.dispose();this._bar=null;};if(this._pane){this._pane.dispose();this._pane=null;};return QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTabPage.js b/swat/style/qooxdoo/widgets/widgets/QxTabPage.js
new file mode 100644
index 0000000000..6e3febc771
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTabPage.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTabPage(vTab){QxWidget.call(this);this.setLeft(10);this.setRight(10);this.setBottom(10);this.setTop(10);if(isValid(vTab)){this.setTab(vTab);};};QxTabPage.extend(QxWidget,"QxTabPage");QxTabPage.addProperty({name:"tab",type:Object});proto._modifyTab=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setPage(null,_b4);};if(_b1){_b1.setPage(this,_b4);};return true;};proto._shouldBecomeCreated=function(){var vTab=this.getTab();return vTab?vTab.getChecked():false;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTabPane.js b/swat/style/qooxdoo/widgets/widgets/QxTabPane.js
new file mode 100644
index 0000000000..ac61469817
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTabPane.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTabPane(){QxWidget.call(this);this.setState("bottom");this.setLeft(0);this.setRight(0);this.setBorder(QxBorder.presets.outset);};QxTabPane.extend(QxWidget,"QxTabPane");proto._modifyElement=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._modifyState=function(_b1,_b2,_b3,_b4){QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);return this._applyState();};proto._applyState=function(){var vParent=this.getParent();if(!vParent||!this.isCreated()||!vParent.getBar().isCreated()){return true;};var vBarHeight=vParent.getBar().getPixelOfHeight();switch(this.getState()){case "top":this.setBottom(vBarHeight-this.getComputedBorderBottom());this.setTop(0);break;default:this.setTop(vBarHeight-this.getComputedBorderTop());this.setBottom(0);};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTerminator.js b/swat/style/qooxdoo/widgets/widgets/QxTerminator.js
new file mode 100644
index 0000000000..0310d21850
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTerminator.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTerminator(){QxWidget.call(this);};QxTerminator.extend(QxWidget,"QxTerminator");proto.getChildren=function(){return[];};proto.getChildrenLength=function(){return 0;};proto.hasChildren=proto.contains=function(){return false;};proto.getPreviousSibling=proto.getNextSibling=proto.getFirstChild=proto.getLastChild=function(){return null;};proto.add=proto.addBefore=proto.addAfter=proto.remove=proto.removeAll=proto._getParentNodeForChild=proto._appendElement=function(){throw new Error("Not implemented for "+this.classname);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTextArea.js b/swat/style/qooxdoo/widgets/widgets/QxTextArea.js
new file mode 100644
index 0000000000..f9e00fe6c5
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTextArea.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTextArea(sText){QxTextField.call(this,sText);this.setOverflow("auto");this.removeHtmlProperty("type");this.setHeight(50);this.setTagName("TEXTAREA");this.setCanSelect(true);};QxTextArea.extend(QxTextField,"QxTextArea");QxTextArea.addProperty({name:"wrap",type:Boolean});proto._modifyWrap=function(_b1,_b2,_b3,_b4){return(new QxClient).isMshtml()?this.setHtmlProperty("wrap",_b1?"soft":"off"):this.setStyleProperty("whiteSpace",_b1?"normal":"nowrap");}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTextField.js b/swat/style/qooxdoo/widgets/widgets/QxTextField.js
new file mode 100644
index 0000000000..82a0571c97
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTextField.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTextField(vText){QxWidget.call(this);if(isValid(vText)){this.setText(vText);};this.setHtmlProperty("type","text");this.setTabIndex(1);this.setCanSelect(true);this.setTagName("INPUT");this.setTextAlign("left");this.addEventListener("blur",this._onblur);this.addEventListener("focus",this._onfocus);};QxTextField.extend(QxWidget,"QxTextField");QxTextField.addProperty({name:"text",type:String,defaultValue:""});QxTextField.addProperty({name:"maxLength",type:Number});QxTextField.addProperty({name:"readOnly",type:Boolean});QxTextField.addProperty({name:"selectionStart",type:Number});QxTextField.addProperty({name:"selectionLength",type:Number});QxTextField.addProperty({name:"selectionText",type:String});proto._clonePropertyIgnoreList+=",selectionStart,selectionLength,selectionText";proto._checkText=function(_b1,_b2,_b3,_b4){return typeof _b1=="string"?_b1:"";};proto._modifyText=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty("value",_b1);};proto._modifyMaxLength=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty("maxLength",_b1);};proto._modifyReadOnly=function(_b1,_b2,_b3,_b4){return this.setHtmlProperty("readOnly",_b1);};if((new QxClient).isGecko()){proto._visualizeFocus=function(){this.setCssClassName(this.getCssClassName().add("QxFocused"," ").add(this.classname+"-Focused"," "));try{this.getElement().readOnly=true;this.getElement().focus();this.getElement().readOnly=this.getReadOnly();}catch(ex){};return true;};proto._addInlineEvents=function(el){el.addEventListener("input",QxWidget.__oninlineevent,false);return QxWidget.prototype._addInlineEvents.call(this,el);};proto._removeInlineEvents=function(el){el.removeEventListener("input",QxWidget.__oninlineevent,false);return QxWidget.prototype._removeInlineEvents.call(this,el);};};proto.getPreferredWidth=function(){var el=this.getElement();if(el){var w=el.style.width;el.style.width="";var o=el.offsetWidth;el.style.width=isValid(w)?w:"";return o;};return 0;};proto.getPreferredHeight=function(){var el=this.getElement();if(el){var h=el.style.height;el.style.height="";var o=el.offsetHeight;el.style.height=isValid(h)?h:"";return o;};return 0;};proto._textOnFocus=null;proto._ontabfocus=function(e){this.selectAll();};proto._onfocus=function(e){this._textOnFocus=this.getElement().value;};proto._onblur=function(e){if(this._textOnFocus!=this.getElement().value){this.setText(this.getElement().value);};this.setSelectionLength(0);};proto._oninlineevent=function(e){if(!e){e=this.getTopLevelWidget().getDocumentElement().parentWindow.event;};switch(e.type){case "input":if(this.hasEventListeners("input")){this.dispatchEvent(new QxDataEvent("input",this.getElement().value));};return true;case "propertychange":if(e.propertyName=="value"){if(this.hasEventListeners("input")){this.dispatchEvent(new QxDataEvent("input",this.getElement().value));};return true;};break;};return QxWidget.prototype._oninlineevent.call(this,e);};if((new QxClient).isMshtml()){proto._getRange=function(){this._visualPropertyCheck();return this.getElement().createTextRange();};proto._getSelectionRange=function(){this._visualPropertyCheck();return this.getTopLevelWidget().getDocumentElement().selection.createRange();};proto.setSelectionStart=function(vStart){this._visualPropertyCheck();var vText=this.getElement().value;var i=0;while(i<vStart){i=vText.indexOf("\r\n",i);if(i==-1){break;};vStart--;i++;};var vRange=this._getRange();vRange.collapse();vRange.move("character",vStart);vRange.select();};proto.getSelectionStart=function(){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return-1;};var vRange=this._getRange();vRange.setEndPoint("EndToStart",vSelectionRange);return vRange.text.length;};proto.setSelectionLength=function(vLength){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return;};vSelectionRange.collapse();vSelectionRange.moveEnd("character",vLength);vSelectionRange.select();};proto.getSelectionLength=function(){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return 0;};return vSelectionRange.text.length;};proto.setSelectionText=function(vText){this._visualPropertyCheck();var vStart=this.getSelectionStart();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return;};vSelectionRange.text=vText;this.setText(this.getElement().value);this.setSelectionStart(vStart);this.setSelectionLength(vText.length);return true;};proto.getSelectionText=function(){this._visualPropertyCheck();var vSelectionRange=this._getSelectionRange();if(!this.getElement().contains(vSelectionRange.parentElement())){return "";};return vSelectionRange.text;};proto.selectAll=function(){this._visualPropertyCheck();this.setSelectionStart(0);this.setSelectionLength(this.getText().length);this.getElement().select();};proto.selectFromTo=function(vStart,vEnd){this._visualPropertyCheck();this.setSelectionStart(vStart);this.setSelectionLength(vEnd-vStart);};}else {proto.setSelectionStart=function(vStart){this._visualPropertyCheck();this.getElement().selectionStart=vStart;};proto.getSelectionStart=function(){this._visualPropertyCheck();return this.getElement().selectionStart;};proto.setSelectionLength=function(vLength){this._visualPropertyCheck();var el=this.getElement();el.selectionEnd=el.selectionStart+vLength;};proto.getSelectionLength=function(){this._visualPropertyCheck();var el=this.getElement();return el.selectionEnd-el.selectionStart;};proto.setSelectionText=function(vText){this._visualPropertyCheck();var el=this.getElement();var vOldText=el.value;var vStart=el.selectionStart;var vOldTextBefore=vOldText.substr(0,vStart);var vOldTextAfter=vOldText.substr(el.selectionEnd);var vValue=el.value=vOldTextBefore+vText+vOldTextAfter;el.selectionStart=vStart;el.selectionEnd=vStart+vText.length;this.setText(vValue);return true;};proto.getSelectionText=function(){this._visualPropertyCheck();return this.getElement().value.substr(this.getSelectionStart(),this.getSelectionLength());};proto.selectAll=function(){this._visualPropertyCheck();this.getElement().select();};proto.selectFromTo=function(vStart,vEnd){this._visualPropertyCheck();var el=this.getElement();el.selectionStart=vStart;el.selectionEnd=vEnd;};};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("blur",this._onblur);this.removeEventListener("focus",this._onfocus);QxWidget.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBar.js b/swat/style/qooxdoo/widgets/widgets/QxToolBar.js
new file mode 100644
index 0000000000..364ca3b9ec
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBar.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBar(){QxWidget.call(this);this.setHeight("auto");};QxToolBar.extend(QxWidget,"QxToolBar"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarButton.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarButton.js
new file mode 100644
index 0000000000..2e7aef7e9c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarButton(vText,vIcon,vIconWidth,vIconHeight){QxAtom.call(this,vText,vIcon,vIconWidth,vIconHeight);this.setHeight(null);this.setTop(0);this.setBottom(0);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseup",this._g2);};QxToolBarButton.extend(QxAtom,"QxToolBarButton");proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxAtom.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);this.setState(null,_b4);return true;};proto._onmouseover=function(e){this.setState("hover");};proto._onmouseout=function(e){this.setState(null);};proto._g1=function(e){if(e.isNotLeftButton()){return;};this.setState("pressed");};proto._g2=function(e){if(e.isNotLeftButton()){return;};this.setState("hover");this.execute();}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js
new file mode 100644
index 0000000000..82c114287e
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarCheckBox(vText,vIcon,vChecked){QxToolBarButton.call(this,vText,vIcon);if(isValid(vChecked)){this.setChecked(vChecked);};};QxToolBarCheckBox.extend(QxToolBarButton,"QxToolBarCheckBox");QxToolBarCheckBox.addProperty({name:"checked",type:Boolean,defaultValue:false});proto._g2=function(e){if(e.isNotLeftButton()){return;};this.setChecked(!this.getChecked());};proto._onmouseover=function(e){this.setState(this.getChecked()?"pressed":"hover");};proto._onmouseout=function(e){this.setState(this.getChecked()?"checked":null);};proto._modifyChecked=function(_b1,_b2,_b3,_b4){switch(this.getState()){case null:this.setState(_b1?"checked":null,_b4);break;case "checked":this.setState(_b1?"pressed":null,_b4);break;case "pressed":if(!_b1){this.setState("hover");};break;case "hover":if(_b1){this.setState("pressed",_b4);};};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js
new file mode 100644
index 0000000000..17d344142c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarMenuButton(vText,vIcon,vIconWidth,vIconHeight,vMenu){QxToolBarButton.call(this,vText,vIcon,vIconWidth,vIconHeight);if(isValid(vMenu)){this.setMenu(vMenu);};};QxToolBarMenuButton.extend(QxToolBarButton,"QxToolBarMenuButton");QxToolBarMenuButton.addProperty({name:"menu",type:Object});proto._modifyMenu=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setOpener(null,_b4);};if(_b1){_b1.setOpener(this,_b4);};return true;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vMenu=this.getMenu();if(vMenu){if(_b1=="pressed"){vMenu.setLeft(this.getComputedPageBoxLeft());vMenu.setTop(this.getComputedPageBoxTop()+this.getComputedBoxHeight());vMenu.setVisible(true,_b4);}else {vMenu.setVisible(false,_b4);};};return QxWidget.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto._onmouseover=function(e){var vMenu=this.getMenu();if(vMenu==null||!vMenu.getVisible()){this.setState("hover");};};proto._onmouseout=function(e){if(this.getState()=="hover"){this.setState(null);};};proto._g1=function(e){if(e.isNotLeftButton()){return;};(new QxMenuManager).update();this.setState(this.getState()=="pressed"?"hover":"pressed");e.setPropagationStopped(true);};proto._g2=function(e){}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarPart.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarPart.js
new file mode 100644
index 0000000000..9202865d5f
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarPart.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarPart(){QxWidget.call(this);this.setTop(0);this.setBottom(0);this._handle=new QxToolBarPartHandle;this.add(this._handle);};QxToolBarPart.extend(QxWidget,"QxToolBarPart");proto.dispose=function(){if(this.getDisposed()){return;};QxWidget.prototype.dispose.call(this);if(this._handle){this._handle.dispose();this._handle=null;};return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js
new file mode 100644
index 0000000000..4af974a40c
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarPartHandle(){QxWidget.call(this);this.setTop(0);this.setBottom(0);this.setLeft(0);this.setWidth(10);this._line=new QxWidget;with(this._line){setCssClassName("QxToolBarPartHandleLine");setTop(2);setLeft(3);setBottom(2);setWidth(4);};this.add(this._line);};QxToolBarPartHandle.extend(QxWidget,"QxToolBarPartHandle"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js
new file mode 100644
index 0000000000..2516e101ed
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarRadioButton(vText,vIcon,vChecked){QxToolBarCheckBox.call(this,vText,vIcon,vChecked);};QxToolBarRadioButton.extend(QxToolBarCheckBox,"QxToolBarRadioButton");QxToolBarRadioButton.addProperty({name:"group"});QxToolBarRadioButton.addProperty({name:"name",type:String});QxToolBarRadioButton.addProperty({name:"disableUncheck",type:Boolean,defaultValue:false});proto._modifyChecked=function(_b1,_b2,_b3,_b4){QxToolBarCheckBox.prototype._modifyChecked.call(this,_b1,_b2,_b3,_b4);if(this.getGroup()){this.getGroup().setSelected(this,_b4);};return true;};proto._modifyGroup=function(_b1,_b2,_b3,_b4){if(_b2){_b2.remove(this,_b4);};if(_b1){_b1.add(this,_b4);};return true;};proto._g2=function(e){if(e.isNotLeftButton()){return;};this.setChecked(this.getDisableUncheck()||!this.getChecked());}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js b/swat/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js
new file mode 100644
index 0000000000..7147477879
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolBarSeparator(){QxWidget.call(this);this.setWidth(8);this.setTop(0);this.setBottom(0);this._line=new QxWidget;with(this._line){setCssClassName("QxToolBarSeparatorLine");setTop(2);setLeft(3);setWidth(2);setBottom(2);};this.add(this._line);};QxToolBarSeparator.extend(QxWidget,"QxToolBarSeparator"); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxToolTip.js b/swat/style/qooxdoo/widgets/widgets/QxToolTip.js
new file mode 100644
index 0000000000..13175094e0
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxToolTip.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxToolTip(text,icon){QxPopup.call(this,text,icon);this._showTimer=new QxTimer(this.getShowInterval());this._showTimer.addEventListener("interval",this._onshowtimer,this);this._hideTimer=new QxTimer(this.getHideInterval());this._hideTimer.addEventListener("interval",this._onhidetimer,this);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseover);};QxToolTip.extend(QxPopup,"QxToolTip");QxToolTip.addProperty({name:"hideOnHover",type:Boolean,defaultValue:true});QxToolTip.addProperty({name:"mousePointerOffsetLeft",type:Number,defaultValue:4});QxToolTip.addProperty({name:"mousePointerOffsetTop",type:Number,defaultValue:22});QxToolTip.addProperty({name:"mousePointerOffsetRight",type:Number,defaultValue:0});QxToolTip.addProperty({name:"mousePointerOffsetBottom",type:Number,defaultValue:-2});QxToolTip.addProperty({name:"showInterval",type:Number,defaultValue:1000});QxToolTip.addProperty({name:"hideInterval",type:Number,defaultValue:4000});QxToolTip.addProperty({name:"axisToleranceX",type:Number,defaultValue:0.7});QxToolTip.addProperty({name:"axisToleranceY",type:Number,defaultValue:0.7});QxToolTip.addProperty({name:"boundToWidget"});proto._toolTipManager=new QxToolTipManager();proto._minZindex=1e7;proto._modifyHideInterval=function(_b1,_b2,_b3,_b4){this._hideTimer.setInterval(nHideInterval);return true;};proto._modifyShowInterval=function(_b1,_b2,_b3,_b4){this._showTimer.setInterval(nShowInterval);return true;};proto._modifyBoundToWidget=function(_b1,_b2,_b3,_b4){if(_b1){this.setParent(_b1.getTopLevelWidget());}else if(_b2){this.setParent(null);};return true;};proto._startShowTimer=function(){if(!this._showTimer.getEnabled()){this._showTimer.start();};};proto._startHideTimer=function(){if(!this._hideTimer.getEnabled()){this._hideTimer.start();};};proto._stopShowTimer=function(){if(this._showTimer.getEnabled()){this._showTimer.stop();};};proto._stopHideTimer=function(){if(this._hideTimer.getEnabled()){this._hideTimer.stop();};};proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){this._stopShowTimer();this._startHideTimer();}else {this._stopHideTimer();};return QxPopup.prototype._modifyVisible.call(this,_b1,_b2,_b3,_b4);};proto._onmouseover=function(e){if(this.getHideOnHover()){this.setVisible(false);};};proto._onshowtimer=function(e){var ex=QxMouseEvent.getPageX();var ey=QxMouseEvent.getPageY();if(ex<(QxDOM.getWindowInnerWidth()*this.getAxisToleranceX())){this.setRight(null);this.setLeft(ex+this.getMousePointerOffsetLeft());}else {this.setLeft(null);this.setRight(QxDOM.getWindowInnerWidth()-ex-this.getMousePointerOffsetRight());};if(ey<(QxDOM.getWindowInnerHeight()*this.getAxisToleranceY())){this.setBottom(null);this.setTop(ey+this.getMousePointerOffsetTop());}else {this.setTop(null);this.setBottom(QxDOM.getWindowInnerHeight()-ey-this.getMousePointerOffsetBottom());};this.setVisible(true);return true;};proto._onhidetimer=function(e){return this.setVisible(false);};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mouseover",this._onmouseover);this.removeEventListener("mouseout",this._onmouseover);if(this._showTimer){this._showTimer.removeEventListener("interval",this._onshowtimer,this);this._showTimer.dispose();this._showTimer=null;};if(this._hideTimer){this._hideTimer.removeEventListener("interval",this._onhidetimer,this);this._hideTimer.dispose();this._hideTimer=null;};return QxPopup.prototype.dispose.call(this);}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTree.js b/swat/style/qooxdoo/widgets/widgets/QxTree.js
new file mode 100644
index 0000000000..1fdd24eac3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTree.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTree(vLabel,vIconOpenURI,vIconCloseURI){if(isValid(vLabel)){QxTreeFolder.call(this,vLabel,vIconOpenURI,vIconCloseURI);}else{QxTreeElement.call(this);};this.setTagName("div");this.setLevel(0);this.setParentTree(this);this.setTabIndex(1);this.setOpen(true);this.addEventListener("keydown",this._g4);};QxTree.extend(QxTreeFolder,"QxTree");QxTree.addProperty({name:"activeElement"});QxTree.addProperty({name:"useDoubleClick",type:Boolean,defaultValue:false,getAlias:"useDoubleClick"});QxTree.addProperty({name:"useHoverEffects",type:Boolean,defaultValue:true,getAlias:"useHoverEffects"});QxTree.addProperty({name:"useTreeLines",type:Boolean,defaultValue:true,getAlias:"useTreeLines"});QxTree.isTreeFolder=function(vObject){return vObject&&vObject instanceof QxTreeFolder&&!(vObject instanceof QxTree);};QxTree.isOpenTreeFolder=function(vObject){return vObject instanceof QxTreeFolder&&vObject.getOpen()&&vObject.getChildrenLength()>0;};proto._modifyParent=function(_b1,_b2,_b3,_b4){return QxWidget.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);};proto._modifyElement=function(_b1,_b2,_b3,_b4){QxTreeFolder.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);this._indentCell.style.display=this._navigationCell.style.display="none";this._renderImplLabel(this.getLabel());this._renderImplIcon();return true;};proto._modifyActiveElement=function(_b1,_b2,_b3,_b4){if(_b2){_b2.setActive(false,_b4);};if(_b1){_b1.setActive(true,_b4);};return true;};proto._modifyUseTreeLines=function(_b1,_b2,_b3,_b4){if(this.isCreated()){this._updateTreeLines();};return true;};proto._shouldBecomeCreated=function(){return true;};proto._g4=function(e){e.preventDefault();var aE=this.getActiveElement();switch(e.getKeyCode()){case QxKeyEvent.keys.left:if(QxTree.isTreeFolder(aE)){if(!aE.getOpen()){var vParent=aE.getParent();if(vParent instanceof QxTreeFolder){if(!(vParent instanceof QxTree)){vParent.setOpen(false);};this.setActiveElement(vParent);};}else {return aE.setOpen(false);};}else if(aE instanceof QxTreeFile){var vParent=aE.getParent();if(vParent instanceof QxTreeFolder){if(!(vParent instanceof QxTree)){vParent.setOpen(false);};this.setActiveElement(vParent);};};break;case QxKeyEvent.keys.right:if(QxTree.isTreeFolder(aE)){return aE.setOpen(true);};break;case QxKeyEvent.keys.enter:if(QxTree.isTreeFolder(aE)){return aE.setOpen(!aE.getOpen());};break;case QxKeyEvent.keys.up:if(aE){if(aE.isFirstChild()){if(aE.getParent()instanceof QxTreeFolder){this.setActiveElement(aE.getParent());}else {this.setActiveElement(this.getLastTreeChild());};}else {var vPrev=aE.getPreviousSibling();while(vPrev instanceof QxTreeElement){if(QxTree.isOpenTreeFolder(vPrev)){vPrev=vPrev.getLastChild();}else {break;};};this.setActiveElement(vPrev);};}else {var vLast=this.getLastTreeChild();if(vLast){this.setActiveElement(vLast);};};break;case QxKeyEvent.keys.down:if(aE){if(QxTree.isOpenTreeFolder(aE)){this.setActiveElement(aE.getFirstChild());}else if(aE.isLastChild()){var vCurrent=aE;while(vCurrent.isLastChild()){vCurrent=vCurrent.getParent();if(!vCurrent instanceof QxTreeElement){return this.setActiveElement(this.getFirstTreeChild());};};if(vCurrent instanceof QxTreeElement&&vCurrent.getNextSibling()&&vCurrent.getNextSibling()instanceof QxTreeElement){return this.setActiveElement(vCurrent.getNextSibling());};this.setActiveElement(this.getFirstTreeChild());}else {this.setActiveElement(aE.getNextSibling());};}else {var vFirst=this.getFirstTreeChild();if(vFirst){this.setActiveElement(vFirst);};};break;};(new QxApplication).setActiveWidget(this);};proto.getLastTreeChild=function(){var vLast=this;while(vLast instanceof QxTreeElement){if(!(vLast instanceof QxTreeFolder)||!vLast.getOpen()){return vLast;};vLast=vLast.getLastChild();};};proto.getFirstTreeChild=function(){return this;};proto._renderImplNavigation=function(){return true;};proto._renderImplIndent=function(){return true;};proto._visualizeFocus=function(){return true;};proto._visualizeBlur=function(){return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTreeElement.js b/swat/style/qooxdoo/widgets/widgets/QxTreeElement.js
new file mode 100644
index 0000000000..a73882f123
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTreeElement.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTreeElement(vLabel){QxWidget.call(this);if(isValid(vLabel)){this.setLabel(vLabel);};this.setTagName("li");var im=new QxImageManager();this._navigationLineURI = im.buildURI("widgets/tree/line.gif");this._navigationCrossURI = im.buildURI("widgets/tree/cross.gif");this._navigationCrossPlusURI = im.buildURI("widgets/tree/cross_plus.gif");this._navigationCrossMinusURI = im.buildURI("widgets/tree/cross_minus.gif");this._navigationEndURI = im.buildURI("widgets/tree/end.gif");this._navigationEndPlusURI = im.buildURI("widgets/tree/end_plus.gif");this._navigationEndMinusURI = im.buildURI("widgets/tree/end_minus.gif");this._navigationSimplePlusURI = im.buildURI("widgets/tree/plus.gif");this._navigationSimpleMinusURI = im.buildURI("widgets/tree/minus.gif");this.addEventListener("click",this._g3);this.addEventListener("dblclick",this._ondblclick);this.addEventListener("mousedown",this._g1);this.addEventListener("mouseover",this._onmouseover);this.addEventListener("mouseout",this._onmouseout);this.addEventListener("mousemove",this._onmouseover);};QxTreeElement.extend(QxWidget,"QxTreeElement");QxTreeElement._indentCache=[];QxTreeElement.addProperty({name:"label",type:String});QxTreeElement.addProperty({name:"level",type:Number,defaultValue:1});QxTreeElement.addProperty({name:"active",type:Boolean,defaultValue:false});QxTreeElement.addProperty({name:"parentTree"});proto._obtainLastChildState=function(){this._renderImplNavigation();};proto._loseLastChildState=function(){this._renderImplNavigation();};proto.getOpen=function(){return false;};proto._shouldBecomeCreated=function(){return this.getParent().getOpen();};proto._modifyParent=function(_b1,_b2,_b3,_b4){if(_b1){this.setParentTree(_b1.getParentTree(),_b4);this.setLevel(_b1.getLevel()+1);}else {this.setParentTree(null,_b4);};QxWidget.prototype._modifyParent.call(this,_b1,_b2,_b3,_b4);if(_b1&&this.isCreated()){this._renderImplIndent();this._renderImplNavigation();};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){this._table=QxTreeElement._h3.cloneNode(true);this._tableRow=this._table.firstChild.firstChild;this._indentCell=this._tableRow.childNodes[0];this._navigationCell=this._tableRow.childNodes[1];this._navigationImage=this._navigationCell.firstChild;this._iconCell=this._tableRow.childNodes[2];this._iconImage=this._iconCell.firstChild;this._labelCell=this._tableRow.childNodes[3];this._renderImplIndent();this._renderImplNavigation();this._renderImplIcon();this._renderImplLabel();_b1.appendChild(this._table);QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);return true;};proto._modifyParentTree=function(_b1,_b2,_b3,_b4){if(this.isCreated()&&!_b2&&_b1){this._renderImplNavigation();this._renderImplIndent();};return true;};proto._modifyActive=function(_b1,_b2,_b3,_b4){var p=this.getParentTree();var c="QxTreeElementLabelCellSelected";if(_b1){QxDOM.addClass(this._labelCell,c);if(p){p.setActiveElement(this,_b4);};}else {QxDOM.removeClass(this._labelCell,c);if(p){p.setActiveElement(null,_b4);};};return true;};proto._modifyLabel=function(_b1,_b2,_b3,_b4){return this._renderImplLabel();};proto._renderImplLabel=function(){if(!this.isCreated()){return true;};var vLabel=this.getLabel();if(vLabel){this._labelCell.firstChild.nodeValue=vLabel;this._table.style.display="block";}else {this._table.style.display="none";};return true;};proto._renderImplIcon=function(){if(!this.isCreated()){return true;};this._iconImage.src=(new QxImageManager).getBlank();return true;};proto._renderImplNavigation=function(){if(!this.isCreated()){return true;};var vParentTree=this.getParentTree();if(!vParentTree){return true;};var newSrc;if(!vParentTree.useTreeLines()){newSrc=(new QxImageManager).getBlank();}else if(this.isLastChild()){newSrc=this._navigationEndURI;}else {newSrc=this._navigationCrossURI;};if(newSrc!=this._navigationImage.src){this._navigationImage.src=newSrc;};return true;};proto._modifyLevel=function(_b1,_b2,_b3,_b4){return this._renderImplIndent();};proto._renderImplIndent=function(){if(!this.isCreated()){return true;};var vParentTree=this.getParentTree();if(!vParentTree){return true;};var vLevel=this.getLevel();if(vLevel==0){return true;};var vParent=this.getParent();if(!vParent){return true;};var chl=this._indentCell.childNodes.length;vLevel--;if(vLevel>chl){var diff=vLevel-chl;var io;do{if(QxTreeElement._indentCache.length>0){this._indentCell.appendChild(QxTreeElement._indentCache.shift());}else {io=new Image();io.src=(new QxImageManager).getBlank();this._indentCell.appendChild(io);};}while(--diff);}else if(vLevel<chl){var diff=chl-vLevel;do{QxTreeElement._indentCache.push(this._indentCell.removeChild(this._indentCell.lastChild));}while(--diff);};var chl=this._indentCell.childNodes.length;if(vLevel<1){return true;};var chI,nI;var vNoLines=!vParentTree.useTreeLines();do{chI=this._indentCell.childNodes[vLevel-1];if(vNoLines||vParent.isLastChild()){nI=(new QxImageManager).getBlank();}else {nI=this._navigationLineURI;};if(nI!=chI.src){chI.src=nI;};vParent=vParent.getParent();if(!vParent){break;};}while(--vLevel);return true;};proto._g1=function(e){switch(e.getDomTargetByTagName("TD",this.getElement())){case this._indentCell:return this._g1Indent(e);case this._navigationCell:return this._g1Navigation(e);case this._iconCell:return this._g1Icon(e);case this._labelCell:return this._g1Label(e);};};proto._g1Indent=function(e){e.preventDefault();};proto._g1Navigation=function(e){e.preventDefault();};proto._g1Icon=function(e){this.setActive(true);e.preventDefault();};proto._g1Label=function(e){this.setActive(true);};proto._g3=function(e){switch(e.getDomTargetByTagName("TD",this.getElement())){case this._indentCell:return this._g3Indent(e);case this._navigationCell:return this._g3Navigation(e);case this._iconCell:return this._g3Icon(e);case this._labelCell:return this._g3Label(e);};};proto._g3Indent=proto._g3Navigation=function(e){};proto._g3Icon=proto._g3Label=function(e){if(this.getParentTree().useDoubleClick()){return;};this.setActive(true);};proto._ondblclick=function(e){var pt=this.getParentTree();if(pt&&!pt.useDoubleClick()){return;};switch(e.getDomTargetByTagName("TD",this.getElement())){case this._indentCell:return this._ondblclickIndent(e);case this._navigationCell:return this._ondblclickNavigation(e);case this._iconCell:return this._ondblclickIcon(e);case this._labelCell:return this._ondblclickLabel(e);};};proto._ondblclickIndent=proto._ondblclickNavigation=proto._ondblclickIcon=proto._ondblclickLabel=function(e){};proto._hoverClass="QxTreeElementLabelCellHover";proto._onmouseover=function(e){var pt=this.getParentTree();if(pt&&pt.useHoverEffects()){switch(e.getDomTargetByTagName("TD")){case this._labelCell:case this._iconCell:QxDOM.addClass(this._labelCell,this._hoverClass);break;default:QxDOM.removeClass(this._labelCell,this._hoverClass);};e.setPropagationStopped(true);};};proto._onmouseout=function(e){var pt=this.getParentTree();if(pt&&pt.useHoverEffects()){QxDOM.removeClass(this._labelCell,this._hoverClass);e.setPropagationStopped(true);};};proto._removeHover=function(){if(this.isCreated()){QxDOM.removeClass(this._labelCell,this._hoverClass);};};proto.dispose=function(){if(this._disposed){return;};QxWidget.prototype.dispose.call(this);this.removeEventListener("click",this._g3);this.removeEventListener("dblclick",this._ondblclick);};QxTreeElement.init=function(){var lt,lb,lr;var lt1,lt2,lt3,lt4;var li2;lt=QxTreeElement._h3=document.createElement("table");lt.border=0;lt.cellSpacing=0;lt.cellPadding=0;lb=document.createElement("tbody");lt.appendChild(lb);lr=document.createElement("tr");lb.appendChild(lr);lt1=document.createElement("td");lr.appendChild(lt1);lt1.className="QxTreeElementIndentCell";lt2=document.createElement("td");lr.appendChild(lt2);lt2.className="QxTreeElementNavigationCell";li2=new Image();li2.src=(new QxImageManager).getBlank();li2.height=16;li2.width=19;lt2.appendChild(li2);lt3=document.createElement("td");lr.appendChild(lt3);lt3.className="QxTreeElementIconCell";li3=new Image();li3.src=(new QxImageManager).getBlank();li3.height=16;li3.width=16;lt3.appendChild(li3);lt4=document.createElement("td");lr.appendChild(lt4);lt4.className="QxTreeElementLabelCell";lt4.appendChild(document.createTextNode("-"));if((new QxClient).isMshtml()){lt.unselectable=lb.unselectable=lr.unselectable=lt1.unselectable=lt2.unselectable=lt3.unselectable=lt4.unselectable=li2.unselectable="on";};};QxTreeElement.init(); \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTreeFile.js b/swat/style/qooxdoo/widgets/widgets/QxTreeFile.js
new file mode 100644
index 0000000000..2ff2899c7d
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTreeFile.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTreeFile(vLabel,vIconURI){if(isValid(vIconURI)){this.setIconURI(vIconURI);};QxTreeElement.call(this,vLabel);};QxTreeFile.extend(QxTreeElement,"QxTreeFile");QxTreeFile.addProperty({ name : "iconURI", type : String, defaultValue : "icons/16/doc.png" });proto._renderImplIcon=function(){if(!this.isCreated()){return true;};this._iconImage.src=(new QxImageManager).buildURI(this.getIconURI());return true;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxTreeFolder.js b/swat/style/qooxdoo/widgets/widgets/QxTreeFolder.js
new file mode 100644
index 0000000000..7bdba69cd3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxTreeFolder.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxTreeFolder(vLabel,vIconOpenURI,vIconCloseURI){if(isValid(vIconOpenURI)){this.setIconOpenURI(vIconOpenURI);};if(isValid(vIconCloseURI)){this.setIconCloseURI(vIconCloseURI);};QxTreeElement.call(this,vLabel,this._closeIcon);};QxTreeFolder.extend(QxTreeElement,"QxTreeFolder");QxTreeFolder.addProperty({name:"open",type:Boolean,defaultValue:false});QxTreeFolder.addProperty({ name : "iconOpenURI", type : String, defaultValue : "icons/16/folder_open.png" });QxTreeFolder.addProperty({ name : "iconCloseURI", type : String, defaultValue : "icons/16/folder.png" });proto._obtainLastChildState=function(){this._renderImplNavigation();this._renderImplIndent();};proto._loseLastChildState=function(){if(this.getParent()){this._renderImplNavigation();this._renderImplIndent();};};proto._obtainFirstChild=function(){this._renderImplNavigation();};proto._loseAllChilds=function(){switch(this.getOpen()){case true:this.setOpen(false);break;case false:this._renderImplNavigation();break;};};proto._modifyParentTree=function(_b1,_b2,_b3,_b4){QxTreeElement.prototype._modifyParentTree.call(this,_b1,_b2,_b3,_b4);var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i].setParentTree(_b1,_b4);};return true;};proto._modifyLevel=function(_b1,_b2,_b3,_b4){var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i].setLevel(_b1+1,_b4);};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){this._subList=document.createElement("ul");QxTreeElement.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);_b1.appendChild(this._subList);return true;};proto._getParentNodeForChild=function(oo){if(oo!=null&&oo instanceof QxTreeElement){return this._subList;};return QxTreeElement.prototype._getParentNodeForChild.call(this,oo);};proto._wasOpen=false;proto._invalidIndent=false;proto._modifyOpen=function(_b1,_b2,_b3,_b4){if(!this.isCreated()){return true;};if(_b1){this._subList.style.display="block";if(this._invalidChildrenIndent){this._renderImplIndent();this._invalidChildrenIndent=false;};if(this._invalidChildrenLines){this._updateTreeLines();};this._createChildren();this._renderImplNavigation();this._renderImplIcon();this._wasOpen=true;}else {this._subList.style.display="none";this._renderImplNavigation();this._renderImplIcon();this._removeHover();};return true;};proto._removeHover=function(){var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._removeHover();};QxTreeElement.prototype._removeHover.call(this);};proto._invalidChildrenLines=false;proto._updateTreeLines=function(){var ch=this.getChildren();var chl=ch.length;var chc;for(var i=0;i<chl;i++){chc=ch[i];chc._renderImplNavigation();chc._renderImplIndent();if(chc instanceof QxTreeFolder&&chc.isCreated()){if(chc.getOpen()){chc._updateTreeLines();}else {chc._invalidChildrenLines=true;};}else {chc._invalidChildrenLines=false;};};this._invalidChildrenLines=false;};proto._renderImplNavigation=function(){if(!this.isCreated()){return true;};var vParentTree=this.getParentTree();if(!vParentTree){return true;};var newSrc;if(!vParentTree.useTreeLines()){if(!this.hasChildren()){newSrc=(new QxImageManager).getBlank();}else if(this.getOpen()){newSrc=this._navigationSimpleMinusURI;}else {newSrc=this._navigationSimplePlusURI;};}else if(this.isLastChild()){if(!this.hasChildren()){newSrc=this._navigationEndURI;}else if(this.getOpen()){newSrc=this._navigationEndMinusURI;}else {newSrc=this._navigationEndPlusURI;};}else {if(!this.hasChildren()){newSrc=this._navigationCrossURI;}else if(this.getOpen()){newSrc=this._navigationCrossMinusURI;}else {newSrc=this._navigationCrossPlusURI;};};if(newSrc!=this._navigationImage.src){this._navigationImage.src=newSrc;};return true;};proto._renderImplIcon=function(){if(!this.isCreated()){return true;};var newSrc=(new QxImageManager).buildURI(this.getActive()?this.getIconOpenURI():this.getIconCloseURI());if(newSrc!=this._iconImage.src){this._iconImage.src=newSrc;};return true;};proto._modifyActive=function(_b1,_b2,_b3,_b4){QxTreeElement.prototype._modifyActive.call(this,_b1,_b2,_b3,_b4);return this._renderImplIcon();};proto._renderImplIndent=function(){if(!this.isCreated()){return true;};QxTreeElement.prototype._renderImplIndent.call(this);if(!this.hasChildren()){}else if(this.getOpen()){this._renderImplChildrenIndent();}else if(this._wasOpen){this._invalidChildrenIndent=true;};return true;};proto._renderImplChildrenIndent=function(){var ch=this.getChildren();var chl=ch.length-1;if(chl>-1){do{ch[chl]._renderImplIndent();}while(chl--);};this._invalidChildrenIndent=false;};proto._shouldBecomeChilds=function(){return this.getOpen();};proto._g3Navigation=function(e){if(this.hasChildren()){this.setOpen(!this.getOpen());};};proto._g3Label=function(e){QxTreeElement.prototype._g3Label.call(this,e);if(this.getParentTree().useDoubleClick()||this.getChildrenLength()==0){this.setActive(true);}else {this.setOpen(true);};};proto._g3Icon=function(e){QxTreeElement.prototype._g3Icon.call(this,e);if(this.getParentTree().useDoubleClick()||this.getChildrenLength()==0){this.setActive(true);}else {this.setOpen(true);};};proto._ondblclickLabel=function(e){QxTreeElement.prototype._ondblclickLabel.call(this,e);this.setOpen(!this.getOpen());};proto._ondblclickIcon=function(e){QxTreeElement.prototype._ondblclickIcon.call(this,e);this.setOpen(!this.getOpen());}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js b/swat/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js
new file mode 100644
index 0000000000..c74d6bf8dd
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxVerticalBoxLayout(vBlockAlign,vChildrenAlign){QxBoxLayout.call(this,"vertical",vBlockAlign,vChildrenAlign);};QxVerticalBoxLayout.extend(QxBoxLayout,"QxVerticalBoxLayout");proto._checkOrientation=function(_b1,_b2,propData,_b4){if(_b1!="vertical"){throw new Error("Orientation is not configurable in QxVerticalBoxLayout!");};return _b1;}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxWidget.js b/swat/style/qooxdoo/widgets/widgets/QxWidget.js
new file mode 100644
index 0000000000..a07389c2f3
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxWidget.js
@@ -0,0 +1,2 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxWidget(){QxTarget.call(this);this._a2=[];this._htmlProperties=copyCreateHash(this._htmlProperties);this._htmlProperties.id="QxWidget-"+(++QxWidget._count);this._htmlProperties.className=this.classname;if(isInvalid(this._htmlProperties.hideFocus)){this._htmlProperties.hideFocus=false;};if(isInvalid(this._htmlProperties.unselectable)){this._htmlProperties.unselectable="on";};this._htmlAttributes=copyCreateHash(this._htmlAttributes);this._styleProperties=copyCreateHash(this._styleProperties);this._usedDimensionsHorizontal=[];this._usedDimensionsVertical=[];};QxWidget.extend(QxTarget,"QxWidget");QxWidget._count=0;QxWidget.addProperty({name:"parent",defaultValue:null});QxWidget.addProperty({name:"element"});QxWidget.addProperty({name:"visible",type:Boolean,defaultValue:false,getAlias:"isVisible"});QxWidget.addProperty({name:"anonymous",type:Boolean,defaultValue:false,getAlias:"isAnonymous"});QxWidget.addProperty({name:"tagName",type:String,defaultValue:"DIV"});QxWidget.addProperty({name:"cssClassName",type:String});QxWidget.addProperty({name:"timerCreate",type:Boolean,defaultValue:true});QxWidget.addProperty({name:"layoutHint",defaultValue:"auto"});QxWidget.addProperty({name:"position",type:String,impl:"styleProperty"});QxWidget.addProperty({name:"float",type:String,impl:"floatStyleProperty"});QxWidget.addProperty({name:"display",type:String,impl:"styleProperty",defaultValue:"none"});QxWidget.addProperty({name:"visibility",type:String,impl:"styleProperty",defaultValue:"hidden"});QxWidget.addProperty({name:"textAlign",type:String,impl:"styleProperty"});QxWidget.addProperty({name:"verticalAlign",type:String,impl:"styleProperty"});QxWidget.addProperty({name:"horizontalAlign",type:String});QxWidget.addProperty({name:"zIndex",type:Number,impl:"styleProperty"});QxWidget.addProperty({name:"backgroundColor",type:QxColor,impl:"styleProperty"});QxWidget.addProperty({name:"color",type:QxColor,impl:"styleProperty"});QxWidget.addProperty({name:"border",type:Object});QxWidget.addProperty({name:"opacity",type:Number});QxWidget.addProperty({name:"cursor",type:String});QxWidget.addProperty({name:"backgroundImage",type:String});QxWidget.addProperty({name:"overflow",type:String});QxWidget.addProperty({name:"clip",type:Object});QxWidget.addProperty({name:"tabIndex",type:Number,defaultValue:-1});QxWidget.addProperty({name:"focused",type:Boolean,defaultValue:false});QxWidget.addProperty({name:"canSelect",type:Boolean,defaultValue:true});QxWidget.addProperty({name:"toolTip",type:Object});QxWidget.addProperty({name:"contextMenu",type:Object});QxWidget.addProperty({name:"state",type:String});QxWidget.addProperty({name:"capture",type:Boolean,defaultValue:false});QxWidget.addProperty({name:"dropDataTypes",type:Object});QxWidget.addProperty({name:"command",type:Object});QxWidget.addProperty({name:"appearance",type:String});QxWidget.addProperty({name:"marginTop",type:Number,defaultValue:0,impl:"marginVertical",groups:["margin"]});QxWidget.addProperty({name:"marginRight",type:Number,defaultValue:0,impl:"marginHorizontal",groups:["margin"]});QxWidget.addProperty({name:"marginBottom",type:Number,defaultValue:0,impl:"marginVertical",groups:["margin"]});QxWidget.addProperty({name:"marginLeft",type:Number,defaultValue:0,impl:"marginHorizontal",groups:["margin"]});QxWidget.addProperty({name:"paddingTop",type:Number,defaultValue:0,impl:"paddingVertical",groups:["padding"]});QxWidget.addProperty({name:"paddingRight",type:Number,defaultValue:0,impl:"paddingHorizontal",groups:["padding"]});QxWidget.addProperty({name:"paddingBottom",type:Number,defaultValue:0,impl:"paddingVertical",groups:["padding"]});QxWidget.addProperty({name:"paddingLeft",type:Number,defaultValue:0,impl:"paddingHorizontal",groups:["padding"]});QxWidget.addProperty({name:"left",impl:"horizontalDimension",groups:["location","space","edge"]});QxWidget.addProperty({name:"right",impl:"horizontalDimension",groups:["edge"]});QxWidget.addProperty({name:"width",impl:"horizontalDimension",groups:["dimension","space"]});QxWidget.addProperty({name:"minWidth",impl:"horizontalLimitDimension",defaultValue:-Infinity});QxWidget.addProperty({name:"maxWidth",impl:"horizontalLimitDimension",defaultValue:Infinity});QxWidget.addProperty({name:"top",impl:"verticalDimension",groups:["location","space","edge"]});QxWidget.addProperty({name:"bottom",impl:"verticalDimension",groups:["edge"]});QxWidget.addProperty({name:"height",impl:"verticalDimension",groups:["dimension","space"]});QxWidget.addProperty({name:"minHeight",impl:"verticalLimitDimension",defaultValue:-Infinity});QxWidget.addProperty({name:"maxHeight",impl:"verticalLimitDimension",defaultValue:Infinity});proto.isCreated=function(){return Boolean(this.getElement());};proto._visualPropertyCheck=function(){if(!this.isCreated()){throw new Error("Create the element first!");};};proto.getStyle=function(){var el=this.getElement();if(!el){throw new Error("Element is not already created!");};return el.style;};proto._createElement=function(_b4){return this.setElement(this.getTopLevelWidget().getDocumentElement().createElement(this.getTagName()),_b4);};proto._getParentNodeForChild=function(otherObject){return this.getElement();};proto._createChildren=function(){var ch=this.getChildren();var chl=ch.length;var cho;var el;try{for(var i=0;i<chl;i++){cho=ch[i];switch(cho.isCreated()){case true:el=cho.getElement();if(!el.parentNode&&cho._shouldBecomeCreated()){this._getParentNodeForChild(cho).appendChild(el);};break;case false:if(cho._shouldBecomeCreated()){cho._createElementWrapper();};break;};};}catch(ex){throw new Error("Failed to setup children:"+ex);};};proto._shouldBecomeCreated=function(){return true;};proto._shouldBecomeChilds=function(){return true;};proto._shouldBecomeVisible=function(){return true;};proto._appendElement=function(otherObject){var pl=this._getParentNodeForChild(otherObject);if(pl){var el=otherObject.getElement();try{pl.appendChild(el);el.scrollTop=el.scrollLeft=pl.scrollTop=pl.scrollLeft=0;}catch(ex){throw new Error("Could not append element:"+el+" to "+pl+":"+ex);};this._postAppendChild(otherObject);}else {throw new Error("No parent node available for this widget:"+otherObject+")");};};proto._removeElement=function(otherObject){var el=otherObject.getElement();var pl=el.parentNode;if(pl){try{pl.removeChild(el);}catch(ex){throw new Error("Could not remove element:"+el+":"+ex);};this._postRemoveChild(otherObject);};};proto._postAppendChild=function(otherObject){if(!this._wasVisible){return;};this._invalidatePreferred();this._onnewchild(otherObject);};proto._onnewchild=function(otherObject){if(this.getWidth()=="auto"){this._setChildrenDependWidth(otherObject,"append-child");};if(this.getHeight()=="auto"){this._setChildrenDependHeight(otherObject,"append-child");};};proto._postRemoveChild=function(otherObject){if(!this._wasVisible){return;};this._invalidatePreferred();this._onremovechild(otherObject);};proto._onremovechild=function(otherObject){if(this.getWidth()=="auto"){this._setChildrenDependWidth(otherObject,"remove-child");};if(this.getHeight()=="auto"){this._setChildrenDependHeight(otherObject,"remove-child");};};proto._appendMyself=function(){var pa=this.getParent();if(pa){pa._appendElement(this);};};proto._removeMyself=function(vParent){if(vParent){vParent._removeElement(this);};};proto._beforeShow=function(_b4){};proto._beforeHide=function(_b4){};QxWidget._createList=[];QxWidget._createListLength=0;QxWidget._createListMaxCount=0;QxWidget._createMaxTimeout=500;QxWidget._createInterval=10;QxWidget.addToCreateList=function(vWidget){QxWidget._createList.push(vWidget);QxWidget._createListMaxCount++;QxWidget._createListLength++;if(QxWidget._createTimer==null){var vWin=window.application.getClientWindow();if(vWin&&vWin.hasEventListeners("creatorStarted")){vWin.dispatchEvent(new QxEvent("creatorStarted"),true);};this._createStart=(new Date).valueOf();QxWidget._createTimer=window.setInterval("QxWidget._timeCreator()",QxWidget._createInterval);};};QxWidget._timeCreator=function(){if(this._timeCreatorRun){return;};this._timeCreatorRun=true;var vParent,vCurrent;var vList=QxWidget._createList;var vStart=(new Date).valueOf();while((vCurrent=vList[0])&&((new Date).valueOf()-vStart)<QxWidget._createMaxTimeout){if(vCurrent.isCreated()){vList.shift();continue;};vParent=vCurrent.getParent();if(vParent&&vParent.isCreated()){vCurrent._createElement();vList.shift();QxWidget._createListLength--;};};var vWin=window.application.getClientWindow();if(vWin&&vWin.hasEventListeners("creatorInterval")){vWin.dispatchEvent(new QxDataEvent("creatorInterval",100-Math.round(QxWidget._createListLength/QxWidget._createListMaxCount*100)),true);};if(QxWidget._createListLength==0){window.clearInterval(QxWidget._createTimer);QxWidget._createTimer=null;QxWidget._createListMaxCount=0;var vWin=window.application.getClientWindow();if(vWin&&vWin.hasEventListeners("creatorStopped")){vWin.dispatchEvent(new QxEvent("creatorStopped"),true);};};delete this._timeCreatorRun;};proto._createElementWrapper=function(_b4){var vParent=this.getParent();if(this.getTimerCreate()&&vParent.getWidth()!="auto"&&vParent.getHeight()!="auto"){QxWidget.addToCreateList(this);}else {this._createElement(_b4);};};proto._modifyParent=function(_b1,_b2,_b3,_b4){if(_b2){_b2._removeChild(this);if(this.isCreated()){this._removeMyself(_b2);};};if(_b1){if(this.contains(_b1)){throw new Error("Could not add me to a child!");};_b1._pushChild(this);if(_b1.isCreated()){if(!_b1._shouldBecomeChilds()){return true;}else if(!this._shouldBecomeCreated()){return true;}else if(!this.isCreated()){this._createElementWrapper(_b4);}else {this._appendMyself();this._render("force");};};};return true;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b2){this._removeMyself(this.getParent());_b2._QxWidget=null;_b2.id="";_b2.name="";this._removeInlineEvents(_b2);};if(_b1){_b1._QxWidget=this;this._applyStyleProperties(_b1,_b4);this._applyHtmlProperties(_b1,_b4);this._applyHtmlAttributes(_b1,_b4);this._addInlineEvents(_b1);this.setVisible(true,_b4);};return true;};if((new QxClient).isMshtml()){proto._addInlineEvents=function(el){el.onpropertychange=QxWidget.__oninlineevent;el.attachEvent("onselect",QxWidget.__oninlineevent);el.attachEvent("onscroll",QxWidget.__oninlineevent);el.attachEvent("onfocus",QxWidget.__oninlineevent);el.attachEvent("onblur",QxWidget.__oninlineevent);};proto._removeInlineEvents=function(el){el.onpropertychange=null;el.detachEvent("onselect",QxWidget.__oninlineevent);el.detachEvent("onscroll",QxWidget.__oninlineevent);el.detachEvent("onfocus",QxWidget.__oninlineevent);el.detachEvent("onblur",QxWidget.__oninlineevent);};}else {proto._addInlineEvents=function(el){el.addEventListener("select",QxWidget.__oninlineevent,false);el.addEventListener("scroll",QxWidget.__oninlineevent,false);el.addEventListener("focus",QxWidget.__oninlineevent,false);el.addEventListener("blur",QxWidget.__oninlineevent,false);};proto._removeInlineEvents=function(el){el.removeEventListener("select",QxWidget.__oninlineevent,false);el.removeEventListener("scroll",QxWidget.__oninlineevent,false);el.removeEventListener("focus",QxWidget.__oninlineevent,false);el.removeEventListener("blur",QxWidget.__oninlineevent,false);};};QxWidget.__oninlineevent=function(e){if(this._QxWidget){return this._QxWidget._oninlineevent(e);};};proto._oninlineevent=function(e){if(!e){e=window.event;};switch(e.type){case "focus":case "blur":case "select":case "scroll":case "load":break;case "propertychange":break;default:this.debug("Uncatched inline event:"+e.type);};};proto._wasVisible=false;proto._modifyVisible=function(_b1,_b2,_b3,_b4){if(_b1){if(!this.isCreated()){this.forceVisible(false);this._createElementWrapper();return true;};if(!this._wasVisible){this.setDisplay(null);this._appendMyself();var vAutoWidth=this._typeof_width=="auto";var vAutoHeight=this._typeof_height=="auto";if(vAutoWidth||vAutoHeight){this._createChildren();if(vAutoWidth){this._setChildrenDependWidth();};if(vAutoHeight){this._setChildrenDependHeight();};this._render("initial");this._wasVisible=true;var ch=this.getChildren();var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._render("initial");};}else {this._render("initial");this._wasVisible=true;this._createChildren();};this._invalidatePreferred();}else {this.setDisplay(null);if(this._renderHorizontalOmitted){this._renderHorizontal("force");this._renderHorizontalOmitted=false;};if(this._renderVerticalOmitted){this._renderVertical("force");this._renderVerticalOmitted=false;};};this._beforeShow(_b4);this.setVisibility("inherit",_b4);}else {this._beforeHide(_b4);this.setVisibility("hidden",_b4);this.setDisplay("none");};return true;};proto.getChildren=function(){return this._a2;};proto.getChildrenLength=function(){return this.getChildren().length;};proto.hasChildren=function(){return this.getChildrenLength()>0;};proto.getTopLevelWidget=function(){var p=this.getParent();if(p==null){return null;};return p.getTopLevelWidget();};proto.add=function(){var l=arguments.length;var o;for(var i=0;i<l;i++){o=arguments[i];if(!(o instanceof QxWidget)){if(o instanceof Array){var j;for(j=0;j<o.length;j++){this.add(o[j]);};for(j in o){if(o[j]instanceof QxWidget){this.add(o[j]);};};}else {throw new Error("Invalid Widget:"+o);};}else {o.setParent(this);};};return this;};proto.addBefore=function(otherWidget,beforeWidget){if(!(otherWidget instanceof QxWidget)||!(beforeWidget instanceof QxWidget)){throw new Error("Invalid widgets:"+otherWidget+","+beforeWidget);};if(beforeWidget.getParent()!=this){throw new Error("Invalid before widget:"+beforeWidget+". Should be child of same parent!");};if(otherWidget.contains(this)){throw new Error("Could not add me to a child!");};var ch=this.getChildren();var oldLength=ch.length;ch.remove(otherWidget);ch.insertBefore(otherWidget,beforeWidget);this._complexAdd(otherWidget,oldLength);};proto.addAfter=function(otherWidget,afterWidget){if(!(otherWidget instanceof QxWidget)||!(afterWidget instanceof QxWidget)){throw new Error("Invalid widgets:"+otherWidget+","+afterWidget);};if(afterWidget.getParent()!=this){throw new Error("Invalid after widget:"+afterWidget+". Should be child of same parent!");};if(otherWidget.contains(this)){throw new Error("Could not add me to a child!");};var ch=this.getChildren();var oldLength=ch.length;ch.remove(otherWidget);ch.insertAfter(otherWidget,afterWidget);this._complexAdd(otherWidget,oldLength);};proto._complexAdd=function(otherWidget,oldLength){var ch=this._a2;var newLength=ch.length;if(otherWidget.getParent()==this){this.syncChildrenOrder();if(newLength!=oldLength&&newLength==1){this._firstChildCache=otherWidget;this._lastChildCache=otherWidget;if(this.isCreated()&&oldLength>1){this._obtainFirstChild();};if(otherWidget.isCreated()){otherWidget._obtainFirstChildState();};}else {var newFirst=ch[0];if(this._firstChildCache&&this._firstChildCache!=newFirst){var oldFirst=this._firstChildCache;this._firstChildCache=newFirst;if(oldFirst.isCreated()){oldFirst._loseFirstChildState();};if(newFirst.isCreated()){newFirst._obtainFirstChildState();};};var newLast=ch[newLength-1];if(this._lastChildCache&&this._lastChildCache!=newLast){var oldLast=this._lastChildCache;this._lastChildCache=newLast;if(oldLast.isCreated()){oldLast._loseLastChildState();};if(newLast.isCreated()){newLast._obtainLastChildState();};};};}else {otherWidget.setParent(this);this.syncChildrenOrder();};};proto.syncChildrenOrder=function(){if(!this.isCreated()){return;};var ch=this.getChildren().copy();var chl=ch.length;var chc;var che;for(var i=0;i<chl;i++){chc=ch[i];che=chc.getElement();if(chc.isCreated()&&che.parentNode){this._getParentNodeForChild(chc).appendChild(che);};};};proto.remove=function(){var l=arguments.length;var o;for(var i=0;i<l;i++){o=arguments[i];if(!(o instanceof QxWidget)){throw new Error("Invalid Widget:"+o);}else {o.setParent(null);};};};proto.removeAll=function(){var cs=this.getChildren();var co=cs[0];while(co){this.remove(co);co=cs[0];};};proto.contains=function(des){if(des==null){return false;};if(des==this){return true;};return this.contains(des.getParent());};proto.getPreviousSibling=function(){var p=this.getParent();if(p==null){return null;};var cs=p.getChildren();return cs[cs.indexOf(this)-1];};proto.getNextSibling=function(){var p=this.getParent();if(p==null){return null;};var cs=p.getChildren();return cs[cs.indexOf(this)+1];};QxWidget.getActiveSiblingHelperIgnore=function(vIgnoreClasses,vInstance){for(var j=0;j<vIgnoreClasses.length;j++){if(vInstance instanceof vIgnoreClasses[j]){return true;};};return false;};QxWidget.getActiveSiblingHelper=function(vObject,vParent,vCalc,vIgnoreClasses,vMode){if(!vIgnoreClasses){vIgnoreClasses=[];};var vChilds=vParent.getChildren();var vPosition;if(isInvalid(vMode)){vPosition=vChilds.indexOf(vObject)+vCalc;}else {vPosition=vMode=="first"?0:vChilds.length-1;};var vInstance=vChilds[vPosition];while(!vInstance.isEnabled()||QxWidget.getActiveSiblingHelperIgnore(vIgnoreClasses,vInstance)){vPosition+=vCalc;vInstance=vChilds[vPosition];if(!vInstance){return null;};};return vInstance;};proto.getPreviousActiveSibling=function(vIgnoreClasses){var vPrev=QxWidget.getActiveSiblingHelper(this,this.getParent(),-1,vIgnoreClasses,null);return vPrev?vPrev:this.getParent().getLastActiveChild();};proto.getNextActiveSibling=function(vIgnoreClasses){var vMext=QxWidget.getActiveSiblingHelper(this,this.getParent(),1,vIgnoreClasses,null);return vMext?vMext:this.getParent().getFirstActiveChild();};proto.isFirstChild=function(){var pa=this.getParent();if(!pa){return false;};return pa.getFirstChild()==this;};proto.isLastChild=function(){var pa=this.getParent();if(!pa){return false;};return pa.getLastChild()==this;};proto.getFirstActiveChild=function(vIgnoreClasses){return QxWidget.getActiveSiblingHelper(null,this,1,vIgnoreClasses,"first");};proto.getLastActiveChild=function(vIgnoreClasses){return QxWidget.getActiveSiblingHelper(null,this,-1,vIgnoreClasses,"last");};proto._firstChildCache=null;proto._lastChildCache=null;proto.getFirstChild=function(){if(this._firstChildCache==null){var ch=this.getChildren();if(ch.length>0){this._firstChildCache=ch[0];ch[0]._getFirstChildState();};};return this._firstChildCache;};proto.getLastChild=function(){if(this._lastChildCache==null){var ch=this.getChildren();if(ch.length>0){this._lastChildCache=ch[ch.length-1];ch[ch.length-1]._getLastChildState();};};return this._lastChildCache;};proto._pushChild=function(o){var ch=this.getChildren();var chi=ch.indexOf(o);if(chi==-1){ch.push(o);if(ch.length==1){this._firstChildCache=o;this._lastChildCache=o;if(this.isCreated()){this._obtainFirstChild();};}else {if(this._lastChildCache){var oc=this._lastChildCache;this._lastChildCache=o;oc._loseLastChildState();};};}else {if(ch.length==1){this._firstChildCache=o;this._lastChildCache=o;if(this.isCreated()){this._obtainFirstChild();};}else {if(this._lastChildCache&&chi==(ch.length-1)){var oc=this._lastChildCache;this._lastChildCache=o;if(oc.isCreated()){oc._loseLastChildState();};};};};};proto._removeChild=function(o){var ch=this.getChildren();ch.remove(o);if(ch.length==0){this._loseAllChilds();};if(this._firstChildCache==o){if(ch.length>0){this._firstChildCache=ch[0];ch[0]._obtainFirstChildState();}else {this._firstChildCache=null;};o._loseFirstChildState();};if(this._lastChildCache==o){if(ch.length>0){this._lastChildCache=ch[ch.length-1];ch[ch.length-1]._obtainLastChildState();}else {this._lastChildCache=null;};o._loseLastChildState();};};proto._obtainFirstChildState=function(){};proto._obtainLastChildState=function(){};proto._loseFirstChildState=function(){};proto._loseLastChildState=function(){};proto._obtainFirstChild=function(){};proto._loseAllChilds=function(){};proto._modifyEnabled=function(_b1,_b2,_b3,_b4){QxTarget.prototype._modifyEnabled.call(this,_b1,_b2,_b3,_b4);var vClasses=this.getCssClassName();var vDisClassA="QxDisabled";var vDisClassB=this.classname+"Disabled";if(_b1){this.removeHtmlProperty("disabled");this.setCssClassName(vClasses.remove(vDisClassA," ").remove(vDisClassB," "));}else {this.setHtmlProperty("disabled",true);this.setCssClassName(vClasses.add(vDisClassA," ").add(vDisClassB," "));};return true;};proto._modifyState=function(_b1,_b2,_b3,_b4){var vClasses=this.getCssClassName();if(isValidString(_b2)){vClasses=vClasses.remove(this.classname+"-"+_b2.toFirstUp()," ");};if(isValidString(_b1)){vClasses=vClasses.add(this.classname+"-"+_b1.toFirstUp()," ");};this.setCssClassName(vClasses,_b4);this._recalculateFrame();return true;};proto._modifyAppearance=function(_b1,_b2,_b3,_b4){return true;};proto.setHtmlProperty=function(n,v){this._htmlProperties[n]=v;var el=this.getElement();if(el){el[n]=v;};return true;};proto.removeHtmlProperty=function(n){delete this._htmlProperties[n];var el=this.getElement();if(el){el.removeAttribute(n);if((new QxClient).isNotMshtml()){try{delete el[n];}catch(ex){};};};return true;};proto.getHtmlProperty=function(n){var el=this.getElement();return el?el[n]:this._htmlProperties[n];};proto._applyHtmlProperties=function(el){for(var i in this._htmlProperties){el[i]=this._htmlProperties[i];};};proto.setHtmlAttribute=function(n,v){this._htmlAttributes[n]=v;var el=this.getElement();if(el){el.setAttribute(n,v);};return true;};proto.removeHtmlAttribute=function(n){delete this._htmlAttributes[n];var el=this.getElement();if(el){el.removeAttribute(n);};return true;};proto.getHtmlAttribute=function(n){var el=this.getElement();return el?el.getAttribute(n):this._attributes[n];};proto._applyHtmlAttributes=function(el){for(var i in this._htmlAttributes){el.setAttribute(i,this._htmlAttributes[i]);};};proto._evalCurrentStyleProperty=function(_b3){return this.isCreated()?QxDOM.getComputedStyleProperty(this.getElement(),_b3):null;};proto.getStyleProperty=function(_b3){var _b1=this._styleProperties[_b3]||this._evalCurrentStyleProperty(_b3);return isValid(_b1)?_b1:null;};proto.setStyleProperty=function(_b3,_b1,_b4){return this._modifyStyleProperty(_b1,null,_b3,_b4);};proto.removeStyleProperty=function(_b3){delete this._styleProperties[_b3];var el=this.getElement();if(el){el.style[_b3]="";};return true;};proto._modifyStyleProperty=function(_b1,_b2,_b3,_b4){this._styleProperties[_b3]=_b1;try{this.getElement().style[_b3]=isValid(_b1)?_b1:"";}catch(ex){};return true;};proto._modifyFloatStyleProperty=function(_b1,_b2,_b3,_b4){return this._modifyStyleProperty(_b1,_b2,"cssFloat",_b4);};proto._applyStyleProperties=function(el){for(var i in this._styleProperties){el.style[i]=this._styleProperties[i];};};proto.getAnyWidth=function(){var w=this.getWidth();var wu=w=="auto"?null:w;if(!wu&&!this.isCreated()){return 0;};if(this._pixelof_width!=null){wu=Math.max(this._pixelof_width,wu);};return wu||this.getPreferredWidth()||this.getComputedBoxWidth()||0;};proto.getAnyHeight=function(){var h=this.getHeight();var hu=h=="auto"?null:h;if(!hu&&!this.isCreated()){return 0;};if(this._pixelof_height!=null){hu=Math.max(this._pixelof_height,hu);};return hu||this.getPreferredHeight()||this.getComputedBoxHeight()||0;};proto._widthAuto=false;proto._widthMode=null;proto._widthModeValue=null;proto.setWidth=function(_b1,_b4,vMode,vKeepAuto){var _b2=this.getWidth();this._widthMode=isValid(vMode)?vMode:"box";this._widthModeValue=_b1;if(_b1=="auto"){this._widthAuto=true;if(this._wasVisible){return this._setChildrenDependWidth();};}else if(isInvalid(vKeepAuto)){this._widthAuto=false;}else if(vKeepAuto==true){if(!this._widthAuto){throw new Error("Width was not auto previously!:"+_b1);};};this._valueWidth=_b1;this._nullWidth=_b1==null;try{var r=this._modifyHorizontalDimension(_b1,_b2,"width",_b4);if(!r){throw new Error("Failed without exception:width[horizontalDimension|"+r+"]");};}catch(ex){this.debug("Failed to modify property width:"+ex);return false;};if(vKeepAuto){this._valueWidth="auto";this._nullWidth=false;};return _b1;};proto._heightAuto=false;proto._heightMode=null;proto._heightModeValue=null;proto.setHeight=function(_b1,_b4,vMode,vKeepAuto){var _b2=this.getHeight();this._heightMode=isValid(vMode)?vMode:"box";this._heightModeValue=_b1;if(_b1=="auto"){this._heightAuto=true;if(this._wasVisible){return this._setChildrenDependHeight();};}else if(isInvalid(vKeepAuto)){this._heightAuto=false;}else if(vKeepAuto==true){if(!this._heightAuto){throw new Error("Height was not auto previously:"+_b1);};};this._valueHeight=_b1;this._nullHeight=_b1==null;try{var r=this._modifyVerticalDimension(_b1,_b2,"height",_b4);if(!r){throw new Error("Failed without exception:height[verticalDimension|"+r+"]");};}catch(ex){this.debug("Failed to modify property height:"+ex);return false;};if(vKeepAuto){this._valueHeight="auto";this._nullHeight=false;};return _b1;};proto.setBoxWidth=function(_b1,_b4,vKeepAuto){return this.setWidth(_b1,_b4,"box",vKeepAuto);};proto.setAreaWidth=function(_b1,_b4,vKeepAuto){return this.setWidth(_b1,_b4,"area",vKeepAuto);};proto.setInnerWidth=function(_b1,_b4,vKeepAuto){return this.setWidth(_b1,_b4,"inner",vKeepAuto);};proto.setBoxHeight=function(_b1,_b4,vKeepAuto){return this.setHeight(_b1,_b4,"box",vKeepAuto);};proto.setAreaHeight=function(_b1,_b4,vKeepAuto){return this.setHeight(_b1,_b4,"area",vKeepAuto);};proto.setInnerHeight=function(_b1,_b4,vKeepAuto){return this.setHeight(_b1,_b4,"inner",vKeepAuto);};proto._minWidthMode=null;proto._maxWidthMode=null;proto._minHeightMode=null;proto._maxHeightMode=null;proto._minWidthModeValue=null;proto._maxWidthModeValue=null;proto._minHeightModeValue=null;proto._maxHeightModeValue=null;proto.setMinWidth=function(_b1,_b4,vMode){var _b2=this.getMinWidth();this._minWidthMode=isValid(vMode)?vMode:"box";this._minWidthModeValue=_b1;this._valueMinWidth=_b1;this._nullMinWidth=_b1==null;try{var r=this._modifyHorizontalLimitDimension(_b1,_b2,"minWidth",_b4);if(!r){throw new Error("Failed without exception:minWidth[horizontalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto.setMaxWidth=function(_b1,_b4,vMode){var _b2=this.getMinWidth();this._maxWidthMode=isValid(vMode)?vMode:"box";this._maxWidthModeValue=_b1;this._valueMaxWidth=_b1;this._nullMaxWidth=_b1==null;try{var r=this._modifyHorizontalLimitDimension(_b1,_b2,"maxWidth",_b4);if(!r){throw new Error("Failed without exception:maxWidth[horizontalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto.setMinHeight=function(_b1,_b4,vMode){var _b2=this.getMinHeight();this._minHeightMode=isValid(vMode)?vMode:"box";this._minHeightModeValue=_b1;this._valueMinHeight=_b1;this._nullMinHeight=_b1==null;try{var r=this._modifyVerticalLimitDimension(_b1,_b2,"minHeight",_b4);if(!r){throw new Error("Failed without exception:minHeight[verticalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto.setMaxHeight=function(_b1,_b4,vMode){var _b2=this.getMaxHeight();this._maxHeightMode=isValid(vMode)?vMode:"box";this._maxHeightModeValue=_b1;this._valueMaxHeight=_b1;this._nullMaxHeight=_b1==null;try{var r=this._modifyVerticalLimitDimension(_b1,_b2,"maxHeight",_b4);if(!r){throw new Error("Failed without exception:maxHeight[verticalLimitDimension|"+r+"]");};}catch(ex){return false;};return _b1;};proto._manageHorizontalDimensions=function(_b3,_b1){if(_b1==null){this._usedDimensionsHorizontal.remove(_b3);}else if(this._usedDimensionsHorizontal.contains(_b3)){return;}else if(this._usedDimensionsHorizontal.length==2){throw new Error("List max reached. Unable to add:"+_b3+"("+_b1+")!,List:"+this._usedDimensionsHorizontal);}else {this._usedDimensionsHorizontal.push(_b3);};};proto._manageVerticalDimensions=function(_b3,_b1){if(_b1==null){this._usedDimensionsVertical.remove(_b3);}else if(this._usedDimensionsVertical.contains(_b3)){return;}else if(this._usedDimensionsVertical.length==2){throw new Error("List max reached. Unable to add:"+_b3+"("+_b1+")!,List:"+this._usedDimensionsVertical);}else {this._usedDimensionsVertical.push(_b3);};};proto._render=function(_e5){this._renderHorizontal(_e5);this._renderVertical(_e5);};proto._renderHorizontalRunning=false;proto._renderVerticalRunning=false;proto._renderHorizontalOmit=false;proto._renderVerticalOmit=false;proto._renderHorizontal=function(_e5){return this._renderHelper("horizontal","Horizontal",_e5,"left","width","right","Left","Width","Right","minWidth","maxWidth","MinWidth","MaxWidth");};proto._renderVertical=function(_e5){return this._renderHelper("vertical","Vertical",_e5,"top","height","bottom","Top","Height","Bottom","minHeight","maxHeight","MinHeight","MaxHeight");};proto._omitHorizontalRendering=function(){this._renderHorizontalOmit=true;};proto._activateHorizontalRendering=function(){this._renderHorizontalOmit=false;this._renderHorizontal("activate");};proto._omitVerticalRendering=function(){this._renderVerticalOmit=true;};proto._activateVerticalRendering=function(){this._renderVerticalOmit=false;this._renderVertical("activate");};proto._omitRendering=function(){this._omitHorizontalRendering();this._omitVerticalRendering();};proto._activateRendering=function(){this._activateHorizontalRendering();this._activateVerticalRendering();};proto._renderInitialDone_horizontal=false;proto._renderInitialDone_vertical=false;proto._renderHelper=function(vId,vIdUp,_e5,vNameStart,vNameRange,vNameStop,vNameStartUp,vNameRangeUp,vNameStopUp,vNameRangeMin,vNameRangeMax,vNameRangeMinUp,vNameRangeMaxUp){var vParent=this.getParent();if(vParent==null||!this.isCreated()){return true;};if(!this["_renderInitialDone_"+vId]){_e5="initial";}else if(this["_renderInitialDone_"+vId]&&_e5=="initial"){return true;};if(!vParent["_renderInitialDone_"+vId]&&this["get"+vNameRangeUp]()!="auto"){if(vParent["get"+vNameRangeUp]()!=null||(vParent["get"+vNameStartUp]()!=null&&vParent["get"+vNameStopUp]()!=null)){return true;};};this["_renderInitialDone_"+vId]=true;if(_e5!="initial"&&this._wasVisible&&!this.getVisible()){this["_render"+vIdUp+"Omitted"]=true;return true;};try{switch(_e5){case "initial":case "force":case "parent":case "activate":this._computeDimensionPixelValue(vNameStart,vNameStartUp,vNameRangeUp,vNameStopUp);this._computeDimensionPixelValue(vNameStop,vNameStartUp,vNameRangeUp,vNameStopUp);case "padding":case "border":this._computeDimensionPixelValue(vNameRange,vNameStartUp,vNameRangeUp,vNameStopUp);this._computeDimensionPixelValue(vNameRangeMin,vNameStartUp,vNameRangeUp,vNameStopUp);this._computeDimensionPixelValue(vNameRangeMax,vNameStartUp,vNameRangeUp,vNameStopUp);break;case vNameRangeMin:case vNameRangeMax:if(vParent["get"+vNameRangeUp]()=="auto"){return vParent["_setChildrenDepend"+vNameRangeUp](this);};case vNameStart:case vNameRange:case vNameStop:this._computeDimensionPixelValue(_e5,vNameStartUp,vNameRangeUp,vNameStopUp);break;};var vValueStart=this["_pixelof_"+vNameStart];var vValueRange=this["_pixelof_"+vNameRange];var vValueStop=this["_pixelof_"+vNameStop];var vValueRangeMin=this["_pixelof_"+vNameRangeMin]||-Infinity;var vValueRangeMax=this["_pixelof_"+vNameRangeMax]||Infinity;var vUseStart=vValueStart!=null;var vUseRange=vValueRange!=null;var vUseStop=vValueStop!=null;if((_e5=="initial"||_e5=="parent")&&!vUseStart&&!vUseRange&&!vUseStop&&vValueRangeMin==-Infinity&&vValueRangeMax==Infinity){return true;};var vComputedPosition;var vComputedSize;function limitSize(vValue){return isValidNumber(vValue)?vValue.limit(vValueRangeMin,vValueRangeMax):0;};if(vUseRange){vComputedSize=limitSize(vValueRange);};if(vUseStart){vComputedPosition=vValueStart;if(!vUseRange){if(vUseStop){vComputedSize=limitSize(vParent["getInner"+vNameRangeUp]()-this["getComputedMargin"+vNameStartUp]()-this["getComputedMargin"+vNameStopUp]()-vComputedPosition-vValueStop);}else if(vValueRangeMin>0){vComputedSize=vValueRangeMin;};};}else if(vUseStop){if(!vUseRange){if(!this.getElement().parentNode){return;};vComputedSize=limitSize(this["getPreferred"+vNameRangeUp]());};vComputedPosition=vParent["getInner"+vNameRangeUp]()-this["getComputedMargin"+vNameStartUp]()-this["getComputedMargin"+vNameStopUp]()-vComputedSize-vValueStop;};if(typeof vComputedSize=="undefined"){vComputedSize=null;};if(typeof vComputedPosition=="undefined"){vComputedPosition=null;}else if(isValidNumber(vComputedPosition)&&this._evalCurrentStyleProperty("position")=="absolute"){vComputedPosition+=vParent["getComputedPadding"+vNameStartUp]();};var vPositionChanged=vComputedPosition!=this["_computedLast"+vNameStartUp];var vSizeChanged=vComputedSize!=this["_computedLast"+vNameRangeUp];if(vPositionChanged||vSizeChanged){if(vSizeChanged){try{this["_applySize"+vIdUp](vComputedSize);}catch(ex){this.debug("Failed to apply size:"+vComputedSize);};this["_computedLast"+vNameRangeUp]=vComputedSize;if(this.hasEventListeners("resize")){this.dispatchEvent(new QxEvent("resize"));};if(this.hasEventListeners("resize"+vIdUp)){this.dispatchEvent(new QxEvent("resize"+vIdUp));};this["_inner"+vNameRangeUp+"Changed"]();};if(vPositionChanged){try{this["_d3"+vIdUp](vComputedPosition);}catch(ex){this.debug("Failed to apply position:"+vComputedPosition);};this["_computedLast"+vNameStartUp]=vComputedPosition;if(this.hasEventListeners("move")){this.dispatchEvent(new QxEvent("move"));};if(this.hasEventListeners("move"+vIdUp)){this.dispatchEvent(new QxEvent("move"+vIdUp));};};if(_e5!="initial"){this["_outer"+vNameRangeUp+"Changed"](vPositionChanged&&vSizeChanged?"position-and-size":vPositionChanged?"position":vSizeChanged?"size":"");};};}catch(ex){throw new Error("Could not render "+this+":"+vId+":"+ex);};};if((new QxClient).isMshtml()){proto._d3Horizontal=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("pixelLeft"):this.setStyleProperty("pixelLeft",Math.round(vPosition));};proto._applySizeHorizontal=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("pixelWidth"):this.setStyleProperty("pixelWidth",Math.round(vSize));};proto._d3Vertical=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("pixelTop"):this.setStyleProperty("pixelTop",Math.round(vPosition));};proto._applySizeVertical=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("pixelHeight"):this.setStyleProperty("pixelHeight",Math.round(vSize));};}else {proto._d3Horizontal=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("left"):this.setStyleProperty("left",Math.round(vPosition)+"px");};proto._applySizeHorizontal=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("width"):this.setStyleProperty("width",Math.round(vSize)+"px");};proto._d3Vertical=function(vPosition){return isInvalidNumber(vPosition)?this.removeStyleProperty("top"):this.setStyleProperty("top",Math.round(vPosition)+"px");};proto._applySizeVertical=function(vSize){return isInvalidNumber(vSize)?this.removeStyleProperty("height"):this.setStyleProperty("height",Math.round(vSize)+"px");};};proto._recalculateFrame=function(_e5){this._recalculateFrameWidth(_e5);this._recalculateFrameHeight(_e5);};proto._recalculateFrameWidth=function(_e5){if(!this._wasVisible){return;};switch(_e5){case "padding":if(this._widthMode=="inner"){return this._renderHorizontal(_e5);};break;case "border":if(this._widthMode=="inner"||this._widthMode=="area"){return this._renderHorizontal(_e5);};};this._innerWidthChanged();};proto._recalculateFrameHeight=function(_e5){if(!this._wasVisible){return;};switch(_e5){case "padding":if(this._heightMode=="inner"){return this._renderVertical(_e5);};break;case "border":if(this._heightMode=="inner"||this._heightMode=="area"){return this._renderVertical(_e5);};};this._innerHeightChanged();};proto._innerWidthChanged=function(){this._d4Width();var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderHorizontal("parent");};};proto._innerHeightChanged=function(){this._d4Height();var ch=this._a2;var chl=ch.length;for(var i=0;i<chl;i++){ch[i]._renderVertical("parent");};};proto._outerChanged=function(_e5){this._outerWidthChanged(_e5);this._outerHeightChanged(_e5);};proto._outerWidthChanged=function(_e5){var pa=this.getParent();return pa?pa._childOuterWidthChanged(this,_e5):true;};proto._outerHeightChanged=function(_e5){var pa=this.getParent();return pa?pa._childOuterHeightChanged(this,_e5):true;};proto._childOuterWidthChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};var w=this.getWidth();if(w=="auto"){return this._setChildrenDependWidth(vModifiedChild,_e5);}else if(w==null||typeof w=="string"){this._lastChildWithInvalidatedPreferredWidth=vModifiedChild;this._invalidatePreferredWidth();};};proto._childOuterHeightChanged=function(vModifiedChild,_e5){if(!this._wasVisible){return;};var h=this.getHeight();if(h=="auto"){return this._setChildrenDependHeight(vModifiedChild,_e5);}else if(h==null||typeof h=="string"){this._lastChildWithInvalidatedPreferredHeight=vModifiedChild;this._invalidatePreferredHeight();};};proto._computedlast_position=null;proto._computedlast_size=null;proto._typeof_left=null;proto._typeof_width=null;proto._typeof_right=null;proto._typeof_top=null;proto._typeof_height=null;proto._typeof_bottom=null;proto._typeof_minWidth=null;proto._typeof_maxWidth=null;proto._typeof_minHeight=null;proto._typeof_maxHeight=null;proto._pixelof_left=null;proto._pixelof_width=null;proto._pixelof_right=null;proto._pixelof_top=null;proto._pixelof_height=null;proto._pixelof_bottom=null;proto._pixelof_minWidth=null;proto._pixelof_maxWidth=null;proto._pixelof_minHeight=null;proto._pixelof_maxHeight=null;proto._valueof_left=null;proto._valueof_width=null;proto._valueof_right=null;proto._valueof_top=null;proto._valueof_height=null;proto._valueof_bottom=null;proto._valueof_minWidth=null;proto._valueof_maxWidth=null;proto._valueof_minHeight=null;proto._valueof_maxHeight=null;proto.getPixelOfLeft=function(){return this._pixelof_left;};proto.getPixelOfWidth=function(){return this._pixelof_width;};proto.getPixelOfRight=function(){return this._pixelof_right;};proto.getPixelOfTop=function(){return this._pixelof_top;};proto.getPixelOfHeight=function(){return this._pixelof_height;};proto.getPixelOfBottom=function(){return this._pixelof_bottom;};proto._computeDimensionPixelValue=function(vId,vNameStartUp,vNameRangeUp,vNameStopUp){var pixelKey="_pixelof_"+vId;var valueKey="_valueof_"+vId;switch(this["_typeof_"+vId]){case "pixel":this[pixelKey]=this[valueKey];break;case "percent":this[pixelKey]=this._toPercent(this[valueKey],this.getParent()["getInner"+vNameRangeUp]());break;default:this[pixelKey]=null;return;};switch(vId){case "width":case "height":case "minWidth":case "maxWidth":case "minHeight":case "maxHeight":switch(this["_"+vId+"Mode"]){case "inner":this[pixelKey]+=this["getComputedPadding"+vNameStartUp]()+this["getComputedPadding"+vNameStopUp]();case "area":this[pixelKey]+=this["getComputedBorder"+vNameStartUp]()+this["getComputedBorder"+vNameStopUp]();};};};proto._computeDimensionType=function(_b1){switch(typeof _b1){case "number":return "pixel";case "string":if(_b1=="auto"){return "auto";}else if (/^([0-9\.]+)%$/.test(_b1)){return "percent";};break;case "object":if(_b1==null){return null;};};throw new Error("Invalid value:"+_b1);};proto._toPercent=function(_b1,vFullWidth){return Math.round(vFullWidth*parseFloat(_b1)/100);};proto._modifyHorizontalDimension=function(_b1,_b2,_b3,_b4){this._manageHorizontalDimensions(_b3,_b1);return this._modifyHorizontalHelper(_b1,_b3);};proto._modifyHorizontalLimitDimension=function(_b1,_b2,_b3,_b4){return this._modifyHorizontalHelper(_b1,_b3);};proto._modifyHorizontalHelper=function(_b1,_b3){this["_typeof_"+_b3]=this._computeDimensionType(_b1);this["_valueof_"+_b3]=_b1;this._renderHorizontal(_b3);return true;};proto._modifyVerticalDimension=function(_b1,_b2,_b3,_b4){this._manageVerticalDimensions(_b3,_b1);return this._modifyVerticalHelper(_b1,_b3);};proto._modifyVerticalLimitDimension=function(_b1,_b2,_b3,_b4){return this._modifyVerticalHelper(_b1,_b3);};proto._modifyVerticalHelper=function(_b1,_b3){this["_typeof_"+_b3]=this._computeDimensionType(_b1);this["_valueof_"+_b3]=_b1;this._renderVertical(_b3);return true;};proto._setChildrenDependWidth=function(_e4,_e5){var newWidth=this._d5Width(_e4,_e5);if(newWidth!=null){this.setWidth(newWidth,null,"inner",true);}else {this.setWidth(null,null,"box",true);};return true;};proto._d5Width=function(_e4,_e5){return this._d5Helper(_e4,_e5,"_dependWidthCache","left","width","right");};proto._setChildrenDependHeight=function(_e4,_e5){var newHeight=this._d5Height(_e4,_e5);if(newHeight!=null){this.setHeight(newHeight,null,"inner",true);}else {this.setHeight(null,null,"box",true);};return true;};proto._d5Height=function(_e4,_e5){return this._d5Helper(_e4,_e5,"_dependHeightCache","top","height","bottom");};proto._compareDependSize=function(d1,d2){return d2.size-d1.size;};proto._dependWidthCache=null;proto._dependHeightCache=null;proto._d5Helper=function(_e4,_e5,vCache,vStart,vRange,vStop){if(this[vCache]==null||this[vCache].length==0){var vChildren=this.getChildren();var vChildrenLength=vChildren.length;if(vChildrenLength==0){return null;};var vDependCache=this[vCache]=[];var vCurrentChild;var vCurrentNeeded;for(var i=0;i<vChildrenLength;i++){vCurrentChild=vChildren[i];if(vCurrentChild._wasVisible){vCurrentNeeded=vCurrentChild._computeNeededSize(vStart,vRange,vStop);vDependCache.push({widget:vCurrentChild,size:vCurrentNeeded?vCurrentNeeded:0});};};vDependCache.sort(this._compareDependSize);}else {if(!_e4&&this._wasVisible){if(vRange=="height"&&this._lastChildWithInvalidatedPreferredHeight){_e4=this._lastChildWithInvalidatedPreferredHeight;this._lastChildWithInvalidatedPreferredHeight=null;}else if(vRange=="width"&&this._lastChildWithInvalidatedPreferredWidth){_e4=this._lastChildWithInvalidatedPreferredWidth;this._lastChildWithInvalidatedPreferredWidth=null;};};if(_e4&&_e4!=this){var vDependCache=this[vCache];var vDependCacheLength=vDependCache.length;var vChildFound=false;var vCurrentNeeded;if(_e5!="add"){for(var i=0;i<vDependCacheLength;i++){if(vDependCache[i].widget==_e4){if(_e4.getParent()==this){vCurrentNeeded=_e4._computeNeededSize(vStart,vRange,vStop);vDependCache[i].size=vCurrentNeeded?vCurrentNeeded:0;}else {vDependCache.splice(i,1);};vChildFound=true;break;};};};if(_e5=="add"||!vChildFound){if(_e4.getParent()==this){vCurrentNeeded=_e4._computeNeededSize(vStart,vRange,vStop);vDependCache.push({widget:_e4,size:vCurrentNeeded?vCurrentNeeded:0});}else {throw new Error("No change while recalculating the dependCache!");};};vDependCache.sort(this._compareDependSize);}else {var vDependCache=this[vCache];};};return vDependCache.length>0?vDependCache[0].size:null;};proto._computeNeededSize=function(vNameStart,vNameRange,vNameStop){var vNameStartUp=vNameStart.toFirstUp();var vNameRangeUp=vNameRange.toFirstUp();var vNameStopUp=vNameStop.toFirstUp();var vTypeStart=this["_typeof_"+vNameStart];var vTypeRange=this["_typeof_"+vNameRange];var vTypeStop=this["_typeof_"+vNameStop];var vMinRangeValue=this["getMin"+vNameRangeUp]();var vMaxRangeValue=this["getMax"+vNameRangeUp]();var vMarginStart=this["getComputedMargin"+vNameStartUp]();var vMarginStop=this["getComputedMargin"+vNameStopUp]();var neededForMargin=vMarginStart+vMarginStop;if(vTypeRange=="percent"){var sizePreferred=this["getPreferred"+vNameRangeUp]();var sizeLimit=sizePreferred.limit(vMinRangeValue,vMaxRangeValue);var sizeProcent=parseFloat(this["get"+vNameRangeUp]());var neededInner=Math.ceil(sizeLimit/sizeProcent*100);return neededInner+neededForMargin;}else if(vTypeStart=="percent"&&vTypeStop=="percent"){var sizePreferred=this["getPreferred"+vNameRangeUp]();var sizeLimit=sizePreferred.limit(vMinRangeValue,vMaxRangeValue);var percentRemain=100-parseFloat(this["get"+vNameStartUp]())-parseFloat(this["get"+vNameStopUp]());var neededInner=Math.ceil(sizeLimit/percentRemain*100);return neededInner+neededForMargin;}else {var neededForSize=null;if(vTypeRange=="pixel"){this._computeDimensionPixelValue(vNameRange,vNameStartUp,vNameRangeUp,vNameStopUp);neededForSize=this["_pixelof_"+vNameRange];};if(neededForSize==null){var neededForSize=this["getPreferred"+vNameRangeUp]();};if(neededForSize==null){return;};neededForSize=neededForSize.limit(vMinRangeValue,vMaxRangeValue);if(vTypeStart=="percent"){var stopNeededSize=vTypeStop=="pixel"?this["get"+vNameStopUp]():0;var otherNeededSize=neededForSize+stopNeededSize;var percentRemain=100-parseFloat(this["get"+vNameStartUp]());var neededInner=Math.ceil(otherNeededSize/percentRemain*100);return neededInner+neededForMargin;}else if(vTypeStop=="percent"){var startNeededSize=vTypeStart=="pixel"?this["get"+vNameStartUp]():0;var otherNeededSize=neededForSize+startNeededSize;var percentRemain=100-parseFloat(this["get"+vNameStopUp]());var neededInner=Math.ceil(otherNeededSize/percentRemain*100);return neededInner+neededForMargin;}else {var neededForPosition=0;if(vTypeStart=="pixel"){neededForPosition+=this["get"+vNameStartUp]();};if(vTypeStop=="pixel"){neededForPosition+=this["get"+vNameStopUp]();};var neededInner=neededForSize+neededForPosition;return neededInner+neededForMargin;};};};QxWidget._domConnector=function(){var tpropsmargin="marginLeft,marginTop,marginRight,marginBottom";var tpropspadding="paddingLeft,paddingTop,paddingRight,paddingBottom";var tpropsborder="borderLeft,borderTop,borderRight,borderBottom";var tprops=tpropsmargin+","+tpropspadding+","+tpropsborder;var tdimsouter="outerWidth,outerHeight";var tdimsbox="boxWidth,boxHeight";var tdimsarea="areaWidth,areaHeight";var tdimsinner="innerWidth,innerHeight";var tdims=tdimsouter+","+tdimsbox+","+tdimsarea+","+tdimsinner;var tinsets="insetLeft,insetTop,insetRight,insetBottom";var tscrolls="scrollBarSizeLeft,scrollBarSizeTop,scrollBarSizeRight,scrollBarSizeBottom,scrollBarVisibleX,scrollBarVisibleY";var tcposouter="clientOuterLeft,clientOuterTop,clientOuterRight,clientOuterBottom";var tcposbox="clientBoxLeft,clientBoxTop,clientBoxRight,clientBoxBottom";var tcposarea="clientAreaLeft,clientAreaTop,clientAreaRight,clientAreaBottom";var tcposinner="clientInnerLeft,clientInnerTop,clientInnerRight,clientInnerBottom";var tcpos=tcposouter+","+tcposbox+","+tcposarea+","+tcposinner;var tpposouter="pageOuterLeft,pageOuterTop,pageOuterRight,pageOuterBottom";var tpposbox="pageBoxLeft,pageBoxTop,pageBoxRight,pageBoxBottom";var tpposarea="pageAreaLeft,pageAreaTop,pageAreaRight,pageAreaBottom";var tpposinner="pageInnerLeft,pageInnerTop,pageInnerRight,pageInnerBottom";var tppos=tpposouter+","+tpposbox+","+tpposarea+","+tpposinner;var tscreenouter="screenOuterLeft,screenOuterTop,screenOuterRight,screenOuterBottom";var tscreenbox="screenBoxLeft,screenBoxTop,screenBoxRight,screenBoxBottom";var tscreenarea="screenAreaLeft,screenAreaTop,screenAreaRight,screenAreaBottom";var tscreeninner="screenInnerLeft,screenInnerTop,screenInnerRight,screenInnerBottom";var tscreen=tscreenouter+","+tscreenbox+","+tscreenarea+","+tscreeninner;var tall=tprops+","+tdims+","+tinsets+","+tscrolls+","+tcpos+","+tppos+","+tscreen;var tarr=tall.split(",");for(var i=0;i<tarr.length;i++){var tname="getComputed"+tarr[i].toFirstUp();proto[tname]=new Function("var el=this.getElement();return QxDOM."+tname+"(el);");};};QxWidget._domConnector();proto.setScrollLeft=function(nScrollLeft){if(!this.isCreated()){return;};this.getElement().scrollLeft=nScrollLeft;};proto.setScrollTop=function(nScrollTop){if(!this.isCreated()){return;};this.getElement().scrollTop=nScrollTop;};proto.getOffsetLeft=function(){if(!this.isCreated()){return;};return QxDOM.getOffsetLeft(this.getElement());};proto.getOffsetTop=function(){if(!this.isCreated()){return;};return QxDOM.getOffsetTop(this.getElement());};proto.getScrollLeft=function(){if(!this.isCreated()){return;};return this.getElement().scrollLeft;};proto.getScrollTop=function(){if(!this.isCreated()){return;};return this.getElement().scrollTop;};proto.getClientWidth=function(){if(!this.isCreated()){return;};return this.getElement().clientWidth;};proto.getClientHeight=function(){if(!this.isCreated()){return;};return this.getElement().clientHeight;};proto.getOffsetWidth=function(){if(!this.isCreated()){return;};return this.getElement().offsetWidth;};proto.getOffsetHeight=function(){if(!this.isCreated()){return;};return this.getElement().offsetHeight;};proto._preferred_width=null;proto._preferred_height=null;proto._invalidatePreferred=function(){this._preferred_width=this._preferred_height=null;var pa=this.getParent();if(pa){pa._a2PreferredInvalidated(this);};};proto._invalidatePreferredWidth=function(){this._preferred_width=null;var pa=this.getParent();if(pa){pa._a2PreferredWidthInvalidated(this);};};proto._invalidatePreferredHeight=function(){this._preferred_height=null;var pa=this.getParent();if(pa){pa._a2PreferredHeightInvalidated(this);};};proto._calculatePreferredDimensions=function(){try{return QxDOM.getComputedPreferredSize(this.getElement());}catch(ex){throw new Error("Calculation of preferred width/height(of "+this+")failed:"+ex);};};proto.getPreferredWidth=function(){if(this.getWidth()=="auto"){if(!this._wasVisible){this._renderHorizontal("initial");};return this._pixelof_width;};if(this._preferred_width==null){if(this.getChildrenLength()>0){this._preferred_width=this._d5Width()+this.getComputedPaddingLeft()+this.getComputedPaddingRight()+this.getComputedInsetLeft()+this.getComputedInsetRight();}else {var r=this._calculatePreferredDimensions();this._preferred_width=r.width;this._preferred_height=r.height;};};return this._preferred_width;};proto.getPreferredHeight=function(){if(this.getHeight()=="auto"){if(!this._wasVisible){this._renderVertical("initial");};return this._pixelof_height;};if(this._preferred_height==null){if(this.getChildrenLength()>0){this._preferred_height=this._d5Height()+this.getComputedPaddingTop()+this.getComputedPaddingBottom()+this.getComputedInsetTop()+this.getComputedInsetBottom();}else {var r=this._calculatePreferredDimensions();this._preferred_width=r.width;this._preferred_height=r.height;};};return this._preferred_height;};proto.pack=function(){this.setWidth(this.getPreferredWidth());this.setHeight(this.getPreferredHeight());};proto._a2PreferredInvalidated=function(_e4){this._a2PreferredWidthInvalidated(_e4);this._a2PreferredHeightInvalidated(_e4);};proto._lastChildWithInvalidatedPreferredHeight=null;proto._lastChildWithInvalidatedPreferredWidth=null;proto._a2PreferredWidthInvalidated=function(_e4){if(!this._wasVisible){return;};this._lastChildWithInvalidatedPreferredWidth=_e4;if(this.getWidth()=="auto"){this._setChildrenDependWidth(_e4,"preferred");}else {this._invalidatePreferredWidth(_e4);};};proto._a2PreferredHeightInvalidated=function(_e4){if(!this._wasVisible){return;};this._lastChildWithInvalidatedPreferredHeight=_e4;if(this.getHeight()=="auto"){this._setChildrenDependHeight(_e4,"preferred");}else {this._invalidatePreferredHeight(_e4);};};proto._inner_width=null;proto._inner_height=null;proto._d4=function(){this._inner_width=this._inner_height=null;};proto._d4Width=function(){this._inner_width=null;};proto._d4Height=function(){this._inner_height=null;};proto.getInnerWidth=function(){if(this._inner_width==null){this._inner_width=this.getComputedInnerWidth();};return this._inner_width;};proto.getInnerHeight=function(){if(this._inner_height==null){this._inner_height=this.getComputedInnerHeight();};return this._inner_height;};proto._modifyPaddingHorizontal=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._recalculateFrameWidth("padding");this._invalidatePreferredWidth();return true;};proto._modifyPaddingVertical=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._recalculateFrameHeight("padding");this._invalidatePreferredHeight();return true;};proto._modifyMarginHorizontal=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._outerWidthChanged("margin");return true;};proto._modifyMarginVertical=function(_b1,_b2,_b3,_b4){if(isValid(_b1)){this.setStyleProperty(_b3,Math.round(_b1)+"px");}else {this.removeStyleProperty(_b3);};this._outerHeightChanged("margin");return true;};QxWidget.cssLikeShortHandService=function(params){var l=params.length;if(l>4){throw new Error("Invalid number of arguments!");};var v;var forceList=new Array();var styleList=new Array();for(var i=0;i<l;i++){v=params[i];if(isValidNumber(v)){forceList.push(v);styleList.push(Math.round(v)+"px");}else if(v==""||v==null){forceList.push(null);styleList.push("");}else {throw new Error("Invalid shorthand value:"+v);};};switch(l){case 1:forceList[1]=forceList[2]=forceList[3]=forceList[0];styleList[1]=styleList[2]=styleList[3]=styleList[0];break;case 2:forceList[2]=forceList[0];styleList[2]=styleList[0];case 3:forceList[3]=forceList[1];styleList[3]=styleList[1];};return[forceList,styleList];};proto.setPadding=function(){try{var r=QxWidget.cssLikeShortHandService(arguments);}catch(ex){throw new Error("Invalid value for padding:"+ex);};var forceList=r[0];var styleList=r[1];this.forcePaddingTop(forceList[0]);this.forcePaddingRight(forceList[1]);this.forcePaddingBottom(forceList[2]);this.forcePaddingLeft(forceList[3]);this.setStyleProperty("paddingTop",styleList[0]);this.setStyleProperty("paddingRight",styleList[1]);this.setStyleProperty("paddingBottom",styleList[2]);this.setStyleProperty("paddingLeft",styleList[3]);this._recalculateFrame("padding");this._invalidatePreferred();return true;};proto.setMargin=function(){try{var r=QxWidget.cssLikeShortHandService(arguments);}catch(ex){throw new Error("Invalid value for margin:"+ex);};var forceList=r[0];var styleList=r[1];this.forceMarginTop(forceList[0]);this.forceMarginRight(forceList[1]);this.forceMarginBottom(forceList[2]);this.forceMarginLeft(forceList[3]);this.setStyleProperty("marginTop",styleList[0]);this.setStyleProperty("marginRight",styleList[1]);this.setStyleProperty("marginBottom",styleList[2]);this.setStyleProperty("marginLeft",styleList[3]);this._outerChanged("margin");return true;};proto.setEdge=function(){try{var r=QxWidget.cssLikeShortHandService(arguments);}catch(ex){throw new Error("Invalid value for edge:"+ex);};var forceList=r[0];this._omitRendering();this.setWidth(null);this.setHeight(null);this.setTop(forceList[0]);this.setRight(forceList[1]);this.setBottom(forceList[2]);this.setLeft(forceList[3]);this._activateRendering();return true;};proto.canGetFocus=function(){return this.isCreated()&&this.getTabIndex()>=0&&this.isEnabled();};proto.isFocusRoot=function(){return false;};proto._ontabfocus=function(){};proto._modifyFocused=function(_b1,_b2,_b3,_b4){if(!this.isCreated()){return true;};if(_b1){this.getTopLevelWidget().getFocusManager().setFocusedWidget(this,_b4);this._visualizeFocus();}else {this.getTopLevelWidget().getFocusManager().setFocusedWidget(null,_b4);this._visualizeBlur();};return true;};if((new QxClient).isOpera()){proto.repaint=function(){var d=this.getTopLevelWidget().getDocumentElement();var z=d.createElement("div");z.style.height=(d.body.offsetHeight)+"px";z.style.width=(d.body.offsetWidth)+"px";z.style.top="0px";z.style.left="0px";z.style.position="absolute";z.style.backgroundColor="blue";z.style.zIndex="100000000000000";d.body.appendChild(z);var el=this.getElement();var t=el.style.top;var l=el.style.left;el.style.top=(this.getComputedPageBoxTop()-5)+"px";el.style.left=(this.getComputedPageBoxLeft()-5)+"px";el.style.top=t;el.style.left=l;d.body.removeChild(z);};}else {proto.repaint=function(){};};if((new QxClient).isOpera()){proto._visualizeBlur=function(){this.setCssClassName(this.getCssClassName().remove("QxFocused"," ").remove(this.classname+"-Focused"," "));try{this.getElement().blur();}catch(ex){};this.repaint();return true;};proto._visualizeFocus=function(){this.setCssClassName(this.getCssClassName().add("QxFocused"," ").add(this.classname+"-Focused"," "));try{this.getElement().focus();}catch(ex){};this.repaint();return true;};}else {proto._visualizeBlur=function(){this.setCssClassName(this.getCssClassName().remove("QxFocused"," ").remove(this.classname+"-Focused"," "));try{this.getElement().blur();}catch(ex){};return true;};proto._visualizeFocus=function(){this.setCssClassName(this.getCssClassName().add("QxFocused"," ").add(this.classname+"-Focused"," "));try{this.getElement().focus();}catch(ex){};return true;};};proto._modifyCapture=function(_b1,_b2,_b3,_b4){if(_b2){this.getTopLevelWidget().getEventManager().setCaptureWidget(null,_b4);}else if(_b1){this.getTopLevelWidget().getEventManager().setCaptureWidget(this,_b4);};return true;};if((new QxClient).isMshtml()){proto._modifyTabIndex=function(_b1,_b2,_b3,_b4){this.setHtmlProperty("unselectable",_b1<0||!this.getEnabled());this.setHtmlProperty("tabIndex",_b1<0?-1:1);return true;};}else if((new QxClient).isGecko()){proto._modifyTabIndex=function(_b1,_b2,_b3,_b4){this.setStyleProperty("MozUserFocus",_b1<0?"ignore":"normal");this.setStyleProperty("userFocus",_b1<0?"ignore":"normal");return true;};}else {proto._modifyTabIndex=function(_b1,_b2,_b3,_b4){this.setStyleProperty("userFocus",_b1<0?"ignore":"normal");this.setHtmlProperty("tabIndex",_b1<0?-1:1);return true;};};proto._modifyCssClassName=function(_b1,_b2,_b3,_b4){this.setHtmlProperty("className",_b1);return true;};proto._evalCssClassName=function(){var v1=this.getHtmlProperty("className");if(typeof v1=="string"&&v1!="")return v1;else return this.classname;};proto._addCssClassName=function(_b1){this.setCssClassName(this.getCssClassName().add(_b1," "));};proto._removeCssClassName=function(_b1){this.setCssClassName(this.getCssClassName().remove(_b1," "));};proto.addCssClassNameDetail=function(_b1){this._addCssClassName(this.classname+"-"+_b1.toFirstUp());};proto.removeCssClassNameDetail=function(_b1){this._removeCssClassName(this.classname+"-"+_b1.toFirstUp());};proto.getWidgetFromPoint=function(x,y){var ret=this.getWidgetFromPointHelper(x,y);return ret&&ret!=this?ret:null;};proto.getWidgetFromPointHelper=function(x,y){var ch=this.getChildren();for(var chl=ch.length,i=0;i<chl;i++){if(ch[i].isCreated()&&QxDOM.getElementAbsolutePointChecker(ch[i].getElement(),x,y)){return ch[i].getWidgetFromPointHelper(x,y);};};return this;};proto.scrollIntoView=function(){if(!this.isCreated()){return;};this.scrollIntoViewX();this.scrollIntoViewY();};proto.scrollIntoViewX=function(){if(!this.isCreated()){return;};var p=this.getParent();if(!p){return;};var l=this.getOffsetLeft();var w=this.getOffsetWidth();var sl=p.getScrollLeft();var cw=p.getComputedAreaWidth();if(w>cw||l<sl){p.setScrollLeft(l);}else if(l+w>sl+cw){p.setScrollLeft(l+w-cw);};};proto.scrollIntoViewY=function(){if(!this.isCreated()){return;};var p=this.getParent();if(!p){return;};var t=this.getOffsetTop();var h=this.getOffsetHeight();var st=p.getScrollTop();var ch=p.getClientHeight();if(h>ch||t<st){p.setScrollTop(t);}else if(t+h>st+ch){p.setScrollTop(t+h-ch);};};if((new QxClient).isMshtml()){proto._modifyCanSelect=function(_b1,_b2,_b3,_b4){return _b1?this.removeHtmlProperty("unselectable"):this.setHtmlProperty("unselectable","on");};proto._evalCanSelect=function(_b3){var v=this.getHtmlProperty("unselectable");return v!="on"||v==null;};}else if((new QxClient).isGecko()){proto._modifyCanSelect=function(_b1,_b2,_b3,_b4){if(_b1){this.removeStyleProperty("MozUserSelect");this.removeStyleProperty("userSelect");}else {this.setStyleProperty("MozUserSelect","none");this.setStyleProperty("userSelect","none");};return true;};proto._evalCanSelect=function(_b3){var v=(new QxClient).isGecko()?this.getStyleProperty("MozUserSelect"):null;var v=v==null?this.getStyleProperty("userSelect"):v;return v!="none"||v==null;};}else {proto._modifyCanSelect=function(_b1,_b2,_b3,_b4){return _b1?this.removeStyleProperty("userSelect"):this.setStyleProperty("userSelect","none");};proto._evalCanSelect=function(_b3){throw new Error("_evalCanSelect is not implemented for this client!");};};if((new QxClient).isMshtml()){proto._modifyOpacity=function(_b1,_b2,_b3,_b4){if(_b1==null||_b1>1){this.removeStyleProperty("filter");}else if(isValidNumber(_b1)){this.setStyleProperty("filter","Alpha(Opacity="+Math.round(_b1.limit(0,1)*100)+")");}else {throw new Error("Unsupported opacity value:"+_b1);};return true;};proto._evalOpacity=function(){var o=this.getStyleProperty("filter");if(o==null||o==""){return 1;};var re = /Alpha\(Opacity=([0-9]{1,3})\)/;if(!re.test(o)){return 1;};return parseInt(RegExp.$1)/100;};}else {proto._modifyOpacity=function(_b1,_b2,_b3,_b4){if(_b1==null||_b1>1){if((new QxClient).isGecko()){this.removeStyleProperty("MozOpacity");}else if((new QxClient).isKhtml()){this.removeStyleProperty("KhtmlOpacity");};this.removeStyleProperty("opacity");}else if(isValidNumber(_b1)){_b1=_b1.limit(0,1);if((new QxClient).isGecko()){this.setStyleProperty("MozOpacity",_b1);}else if((new QxClient).isKhtml()){this.setStyleProperty("KhtmlOpacity",_b1);};this.setStyleProperty("opacity",_b1);};return true;};proto._evalOpacity=function(){var o=(new QxClient).isGecko()?this.getStyleProperty("MozOpacity"):(new QxClient).isKhtml()?this.getStyleProperty("KhtmlOpacity"):null;var o=o==null||o==""?this.getStyleProperty("opacity"):o;if(o==null||o==""){return 1;};return parseFloat(o);};};proto._modifyCursor=function(_b1,_b2,_b3,_b4){return this.setStyleProperty("cursor",_b1=="pointer"&&(new QxClient).isMshtml()?"hand":_b1);};proto._evalCursor=function(){var c=this.getStyleProperty("cursor");return c=="hand"?"pointer":c;};proto._modifyBackgroundImage=function(_b1,_b2,_b3,_b4){if(_b1==""||_b1=="null"){this.removeStyleProperty("backgroundImage");}else {this.setStyleProperty("backgroundImage","url("+(new QxImageManager).buildURI(_b1)+")");};return true;};proto._evalBackgroundImage=function(){var s=this.getStyleProperty("backgroundImage");return isInvalid(s) ? "" : s.replace(/^url\(/i, "").replace(/\)$/, "");};proto._modifyClip=function(_b1,_b2,_b3,_b4){if(_b1){try{var r=QxWidget.cssLikeShortHandService(_b1);}catch(ex){throw new Error("Invalid value for clip:"+ex);};r=r[1];this.setStyleProperty("clip","rect("+r[0]+","+r[1]+","+r[2]+","+r[3]+")");}else {this.removeStyleProperty("clip");};return true;};proto._modifyOverflow=function(_b1,_b2,_b3,_b4){var pv=_b1;var pn=_b3;if((new QxClient).isGecko()){switch(pv){case "hidden":pv="-moz-scrollbars-none";break;case "scrollX":pv="-moz-scrollbars-horizontal";break;case "scrollY":pv="-moz-scrollbars-vertical";break;};}else if((new QxClient).isMshtml()){switch(pv){case "scrollX":pn="overflowX";pv="scroll";break;case "scrollY":pn="overflowY";pv="scroll";break;};var a=["overflow","overflowX","overflowY"];for(var i=0;i<a.length;i++){if(a[i]!=pn){this.removeStyleProperty(a[i]);};};}else {switch(pv){case "scrollX":case "scrollY":pv="scroll";break;};};return this.setStyleProperty(pn,pv);};proto._evalOverflow=function(){var pv=this.getStyleProperty("overflow");if((new QxClient).isGecko()){switch(pv){case "-moz-scrollbars-none":pv="hidden";break;case "-moz-scrollbars-horizontal":pv="scrollX";break;case "-moz-scrollbars-vertical":pv="scrollY";break;};}else if((new QxClient).isMshtml()){var pvx=this.getStyleProperty("overflowX");var pvy=this.getStyleProperty("overflowY");if(pvx==pvy=="scroll"){pv="scroll";}else if(pvx=="scroll"){pv="scrollX";}else if(pvy=="scroll"){pv="scrollY";};};return pv;};proto._modifyBorder=function(_b1,_b2,_b3,_b4){if(_b2){_b2.removeWidget(this);};if(_b1){_b1.addWidget(this);};this._recalculateFrame("border");this._invalidatePreferred();return true;};proto.dispose=function(){if(this.getDisposed()){return;};var ch=this._a2;if(isValid(this._a2)){var chl=ch.length;for(var i=chl-1;i>=0;i--){this._a2[i].dispose();delete this._a2[i];};delete this._a2;};try{this.getElement()._QxWidget=null;}catch(ex){};delete this._usedDimensionsHorizontal;delete this._usedDimensionsVertical;QxTarget.prototype.dispose.call(this);for(var i in this._styleProperties){delete this._styleProperties[i];};delete this._styleProperties;for(var i in this._htmlProperties){delete this._htmlProperties[i];};delete this._htmlProperties;for(var i in this._htmlAttributes){delete this._htmlAttributes[i];};delete this._htmlAttributes;return true;};proto._clonePropertyIgnoreList="parent,element,visible,display,visibility,boxPrefHeight,boxPrefWidth";proto.clone=function(cloneRecursive,customPropertyList){var cloneInstance=new this.constructor;var propertyName;var propertyList=[];var propertyIngoreList=this._clonePropertyIgnoreList.split(",");var sourcePropertyList=isValid(customPropertyList)?customPropertyList:this._i1.split(",");var sourcePropertyListLength=sourcePropertyList.length-1;do{propertyName=sourcePropertyList[sourcePropertyListLength];if(!propertyIngoreList.contains(propertyName)){propertyList.push(propertyName);};}while(sourcePropertyListLength--);propertyListLength=propertyList.length-1;do{propertyName=propertyList[propertyListLength].toFirstUp();cloneInstance["set"+propertyName](this["get"+propertyName]());}while(propertyListLength--);if(sourcePropertyList.contains("parent")){var myParent=this.getParent();if(myParent){cloneInstance.setParent(myParent);};};if(sourcePropertyList.contains("visibility")){cloneInstance.setVisibility(this.getVisibility());};if(sourcePropertyList.contains("display")){cloneInstance.setDisplay(this.getDisplay());};if(cloneRecursive){this._cloneRecursive(cloneInstance);};return cloneInstance;};proto._cloneRecursive=function(cloneInstance){var ch=this.getChildren();var chl=ch.length;var cloneChild;for(var i=0;i<chl;i++){cloneChild=ch[i].clone(true);cloneInstance.add(cloneChild);};};proto.execute=function(){var vCommand=this.getCommand();if(vCommand){vCommand.execute(this);};if(this.hasEventListeners("execute")){this.dispatchEvent(new QxEvent("execute"));};if(this.hasEventListeners("action")){this.dispatchEvent(new QxEvent("action"));};}; \ No newline at end of file
diff --git a/swat/style/qooxdoo/widgets/widgets/QxWindow.js b/swat/style/qooxdoo/widgets/widgets/QxWindow.js
new file mode 100644
index 0000000000..e4732f5666
--- /dev/null
+++ b/swat/style/qooxdoo/widgets/widgets/QxWindow.js
@@ -0,0 +1,5 @@
+/* Copyright (c): 2002-2005 (Germany): United Internet, 1&1, GMX, Schlund+Partner, Alturo */
+function QxWindow(vCaption,vIcon){QxPopup.call(this);this.setBorder(QxBorder.presets.outset);this.setMinWidth(200);this.setMinHeight(100);this.addEventListener("mousedown",this._onwindowmousedown,this);this.addEventListener("mouseup",this._onwindowmouseup,this);this.addEventListener("mousemove",this._onwindowmousemove,this);var c=this._frame=new QxWidget();c.set({timerCreate:false,border:QxBorder.presets.shadow});c=this._captionbar=new QxWidget;c.set({cssClassName:"QxWindowCaptionBar",top:0,left:0,right:0,height:18});c.addEventListener("mousedown",this._oncaptionmousedown,this);c.addEventListener("mouseup",this._oncaptionmouseup,this);c.addEventListener("mousemove",this._oncaptionmousemove,this);this.addToWindow(c);c=this._pane=new QxWidget;c.set({cssClassName:"QxWindowPane",top:18,bottom:0,left:0,right:0});this.addToWindow(c);if(isValidString(vIcon)){this.setIcon(vIcon);};if(isValidString(vCaption)){this.setCaption(vCaption);};};QxWindow.extend(QxPopup,"QxWindow");QxWindow.addProperty({name:"active",type:Boolean,defaultValue:false});QxWindow.addProperty({name:"modal",type:Boolean,defaultValue:false});QxWindow.addProperty({name:"opener",type:Object});QxWindow.addProperty({name:"caption",type:String});QxWindow.addProperty({name:"status",type:String,defaultValue:"Ready"});QxWindow.addProperty({name:"showClose",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showMaximize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showMinimize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showStatusbar",type:Boolean,defaultValue:false});QxWindow.addProperty({name:"allowClose",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"allowMaximize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"allowMinimize",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showCaption",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"showIcon",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"resizeable",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"moveable",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"resizeMethod",type:String,defaultValue:"frame"});QxWindow.addProperty({name:"moveMethod",type:String,defaultValue:"opaque"});QxWindow.addProperty({name:"usePreferredWidthAsMin",type:Boolean,defaultValue:true});QxWindow.addProperty({name:"usePreferredHeightAsMin",type:Boolean,defaultValue:true});proto._windowManager=new QxWindowManager();proto.getPane=function(){return this._pane;};proto.getCaptionbar=function(){return this._captionbar;};proto.getStatusbar=function(){return this._statusbar;};proto.addToWindow=proto.add;proto.addToPane=function(){this._pane.add.apply(this._pane,arguments);};proto.addToCaptionbar=function(){this._captionbar.add.apply(this._captionbar,arguments);};proto.add=proto.addToPane;proto._beforeShow=function(_b4){QxAtom.prototype._beforeShow.call(this,_b4);(new QxPopupManager).update();this._windowManager.add(this);this._makeActive();this._layoutCommands();};proto._beforeHide=function(_b4){QxAtom.prototype._beforeHide.call(this,_b4);this._windowManager.remove(this);this._makeInactive();};proto.bringToFront=proto.sendToBack=function(){throw new Error("Warning:bringToFront()and sendToBack()are not supported by QxWindow!");};proto._d1=function(){return true;};proto._d2=function(){return true;};proto._d5Width=function(){return this._pane.getAnyWidth();};proto._d5Height=function(){var h=this.getShowStatusbar()&&this._statusbar?this._statusbar.getAnyHeight():0;h+=this._pane.getAnyHeight()+this._captionbar.getAnyHeight();return h;};proto._modifyElement=function(_b1,_b2,_b3,_b4){if(_b1){this._addCssClassName("QxAtomBase");if(this._c1&&!this._icon){this._e3Icon();};if(this._displayCaption&&!this._caption){this._e3Caption();};if(this.getShowMinimize()&&!this._minimizeButton&&!this.getModal()){this._e3MinimizeButton();};if(this.getShowMaximize()&&!this.getModal()){if(!this._restoreButton){this._e3RestoreButton();};if(!this._maximizeButton){this._e3MaximizeButton();};};if(this.getShowStatusbar()){this._e3Statusbar();};if(this.getShowClose()&&!this._closeButton){this._e3CloseButton();};};return QxWidget.prototype._modifyElement.call(this,_b1,_b2,_b3,_b4);};proto._setChildrenDependWidth=QxWidget.prototype._setChildrenDependWidth;proto._setChildrenDependHeight=QxWidget.prototype._setChildrenDependHeight;proto._childOuterWidthChanged=QxWidget.prototype._childOuterWidthChanged;proto._childOuterHeightChanged=QxWidget.prototype._childOuterHeightChanged;proto._d5Helper=QxWidget.prototype._d5Helper;proto._c1=false;proto._displayCaption=false;proto._modifyActive=function(_b1,_b2,_b3,_b4){if(_b1){this.addCssClassNameDetail("active");this._windowManager.setActiveWindow(this,_b4);}else {this.removeCssClassNameDetail("active");};return true;};proto._checkState=function(_b1,_b2,_b3,_b4){if(!this.getResizeable()&&(_b2!="minimized"||this._previousState!=_b1)){throw new Error("This state is not allowed:"+_b1+"!");};return _b1;};proto._modifyState=function(_b1,_b2,_b3,_b4){switch(_b1){case "minimized":this._minimize();break;case "maximized":this._maximize();break;default:this._restore();};this._previousState=_b2;return QxPopup.prototype._modifyState.call(this,_b1,_b2,_b3,_b4);};proto._modifyShowClose=function(_b1,_b2,_b3,_b4){if(_b1&&!this._closeButton){this._e3CloseButton();};this._layoutCommands();return true;};proto._modifyShowMaximize=function(_b1,_b2,_b3,_b4){if(_b1){if(!this._maximizeButton){this._e3MaximizeButton();};if(!this._restoreButton){this._e3RestoreButton();};};this._layoutCommands();return true;};proto._modifyShowMinimize=function(_b1,_b2,_b3,_b4){if(_b1&&!this._minimizeButton){this._e3MinimizeButton();};this._layoutCommands();return true;};proto._modifyResizeable=function(_b1,_b2,_b3,_b4){return this._applyAllowMaximize();};proto._modifyAllowMinimize=function(_b1,_b2,_b3,_b4){return this._applyAllowMinimize();};proto._modifyModal=function(_b1,_b2,_b3,_b4){this._applyAllowMinimize();this._applyAllowMaximize();this._layoutCommands();if(this.getActive()){this.forceModal(true);this.setVisible(false);this.forceModal(_b1);this.setVisible(true);};return true;};proto._applyAllowMinimize=function(){if(this._minimizeButton){this._minimizeButton.setEnabled(this.getAllowMinimize()&&!this.getModal());};return true;};proto._modifyAllowMaximize=function(_b1,_b2,_b3,_b4){return this._applyAllowMaximize();};proto._applyAllowMaximize=function(){var e=this.getAllowMaximize()&&this.getResizeable()&&(this.getMaxWidth()==null||this.getMaxWidth()==Infinity)&&(this.getMaxHeight()==null||this.getMaxHeight()==Infinity);if(this._maximizeButton){this._maximizeButton.setEnabled(e);};if(this._restoreButton){this._restoreButton.setEnabled(e);};return true;};proto._modifyAllowClose=function(_b1,_b2,_b3,_b4){return this._applyAllowClose();};proto._applyAllowClose=function(){if(this._closeButton){this._closeButton.setEnabled(this.getAllowClose());};return true;};proto._layoutCommands=function(){var s=0;if(this._closeButton){if(this.getShowClose()){this._closeButton.setRight(s);if(this._captionbar._wasVisible){this._closeButton.setVisible(true);};s+=this._closeButton.getWidth()+2;}else {this._closeButton.setVisible(false);};};if(this._maximizeButton&&this._restoreButton){if(this.getShowMaximize()){if(this.getState()=="maximized"){this._maximizeButton.setVisible(false);this._restoreButton.setRight(s);if(this._captionbar._wasVisible){this._restoreButton.setVisible(true);};s+=this._restoreButton.getWidth();}else {this._restoreButton.setVisible(false);this._maximizeButton.setRight(s);if(this._captionbar._wasVisible){this._maximizeButton.setVisible(true);};s+=this._maximizeButton.getWidth();};}else {this._maximizeButton.setVisible(false);this._restoreButton.setVisible(false);};};if(this._minimizeButton){if(this.getShowMinimize()){this._minimizeButton.setRight(s);if(this._captionbar._wasVisible){this._minimizeButton.setVisible(true);};}else {this._minimizeButton.setVisible(false);};};};proto._e3CloseButton=function(){var ob = this._closeButton = new QxButton(null, "widgets/window/close.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onclosebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowClose();this.addToCaptionbar(ob);};proto._e3MinimizeButton=function(){var ob = this._minimizeButton = new QxButton(null, "widgets/window/minimize.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onminimizebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowMinimize();this.addToCaptionbar(ob);};proto._e3RestoreButton=function(){var ob = this._restoreButton = new QxButton(null, "widgets/window/restore.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onrestorebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowMaximize();ob._shouldBecomeCreated=function(){return this.getParent().getParent().getState()=="maximized";};this.addToCaptionbar(ob);};proto._e3MaximizeButton=function(){var ob = this._maximizeButton = new QxButton(null, "widgets/window/maximize.gif");ob.set({top:0,height:15,width:16,tabIndex:-1});ob.addEventListener("click",this._onmaximizebuttonclick,this);ob.addEventListener("mousedown",this._onbuttonmousedown,this);this._applyAllowMaximize();ob._shouldBecomeCreated=function(){return this.getParent().getParent().getState()!="maximized";};this.addToCaptionbar(ob);};proto._e3Statusbar=function(){c=this._statusbar=new QxAtom;c.set({cssClassName:"QxWindowStatusBar",width:null,bottom:0,left:0,right:0,height:18,border:QxBorder.presets.thinInset,text:this.getStatus()});this.addToWindow(c);};proto._modifyStatus=function(_b1,_b2,_b3,_b4){if(this._statusbar){this._statusbar.setText(_b1,_b4);};return true;};proto._modifyShowStatusbar=function(_b1,_b2,_b3,_b4){if(_b1){this._statusbar?this.addToWindow(this._statusbar):this._e3Statusbar();this._pane.setBottom(18);}else {if(this._statusbar){this.remove(this._statusbar);};this._pane.setBottom(0);};return true;};proto._modifyCaption=function(_b1,_b2,_b3,_b4){var o=this._caption;if(this._updateUseCaption()){if(o){o.setHtml(_b1);o.setParent(this._captionbar);}else {this._e3Caption();};}else if(o){o.setParent(null);o.setHtml(_b1);};return true;};proto._updateUseCaption=function(){return this._displayCaption=this.getCaption()&&this.getShowCaption();};proto._e3Caption=function(){var o=this._caption=new QxContainer(this.getCaption());o.setTop(1);this._layoutCaption();o.setParent(this._captionbar);};proto._modifyShowCaption=function(_b1,_b2,_b3,_b4){var o=this._caption;if(this._updateUseCaption()){if(o){o.setParent(this._captionbar);}else {this._e3Caption();};}else if(o){o.setParent(null);};return true;};proto._layoutCaption=function(){if(!this._icon||!this._icon.isCreated()){return;};if(this._caption){this._caption.setLeft(this._c1?this._icon.getAnyWidth()+3:0)};};proto._modifyIcon=function(_b1,_b2,_b3,_b4){var o=this._icon;if(this._updateUseIcon()){if(o){o.setSource(_b1);o.setParent(this._captionbar);}else {this._e3Icon();};}else if(o){o.setParent(null);o.setSource(_b1);};return true;};proto._updateUseIcon=function(){return this._c1=this.getIcon()&&this.getShowIcon();};proto._e3Icon=function(){var o=this._icon=new QxImage(this.getIcon(),this.getIconWidth(),this.getIconHeight());o.setLocation(1,0);o.addEventListener("mousedown",this._oniconmousedown,this);o.addEventListener("load",this._oniconload,this);o.setParent(this._captionbar);};proto._modifyShowIcon=function(_b1,_b2,_b3,_b4){var o=this._icon;if(this._updateUseIcon()){if(o){o.setParent(this._captionbar);}else {this._e3Icon();};}else if(o){o.setParent(null);};this._layoutCaption();return true;};proto.close=function(){this.setVisible(false);};proto.open=function(vOpener){if(isValid(vOpener)){this.setOpener(vOpener);};this.setVisible(true);};proto.focus=function(){this.setActive(true);};proto.blur=function(){this.setActive(false);};proto.maximize=function(){this.setState("maximized");};proto.minimize=function(){this.setState("minimized");};proto.restore=function(){this.setState(null);};proto._previousState=null;proto._minimize=function(){this.blur();this.setVisible(false);};proto._restore=function(){if(this.getVisible()){this._omitRendering();};this.setLeft(this._previousLeft?this._previousLeft:null);this.setRight(this._previousRight?this._previousRight:null);this.setTop(this._previousTop?this._previousTop:null);this.setBottom(this._previousBottom?this._previousBottom:null);this.setWidth(this._previousWidth?this._previousWidth:null);this.setHeight(this._previousHeight?this._previousHeight:null);this.getVisible()?this._activateRendering():this.setVisible(true);this._layoutCommands();this.focus();};proto._maximize=function(){if(this.getVisible()){this._omitRendering();};this._previousLeft=this.getLeft();this._previousWidth=this.getWidth();this._previousRight=this.getRight();this._previousTop=this.getTop();this._previousHeight=this.getHeight();this._previousBottom=this.getBottom();this.setWidth(null);this.setLeft(0);this.setRight(0);this.setHeight(null);this.setTop(0);this.setBottom(0);this.getVisible()?this._activateRendering():this.setVisible(true);this._layoutCommands();this.focus();};proto._onwindowmousedown=function(e){this.focus();if(this._resizeMode){this.setCapture(true);this.getTopLevelWidget().setGlobalCursor(this.getCursor());var pa=this.getParent();var l=pa.getComputedPageAreaLeft();var t=pa.getComputedPageAreaTop();var r=pa.getComputedPageAreaRight();var b=pa.getComputedPageAreaBottom();switch(this.getResizeMethod()){case "translucent":this.setOpacity(0.5);break;case "frame":var f=this._frame;f._d3Horizontal(this.getComputedPageBoxLeft()-l);f._d3Vertical(this.getComputedPageBoxTop()-t);f._applySizeHorizontal(this.getComputedBoxWidth());f._applySizeVertical(this.getComputedBoxHeight());f.setZIndex(this.getZIndex()+1);f.setParent(this.getParent());break;};var s=this._resizeSession={};switch(this._resizeMode){case "nw":case "sw":case "w":s.boxWidth=this.getComputedBoxWidth();s.boxRight=this.getComputedPageBoxRight();case "ne":case "se":case "e":s.boxLeft=this.getComputedPageBoxLeft();s.parentAreaOffsetLeft=l;s.parentAreaOffsetRight=r;s.minWidth=this.getUsePreferredWidthAsMin()?Math.max(this.getMinWidth(),this.getPreferredWidth()):this.getMinWidth();s.maxWidth=this.getMaxWidth();};switch(this._resizeMode){case "nw":case "ne":case "n":s.boxHeight=this.getComputedBoxHeight();s.boxBottom=this.getComputedPageBoxBottom();case "sw":case "se":case "s":s.boxTop=this.getComputedPageBoxTop();s.parentAreaOffsetTop=t;s.parentAreaOffsetBottom=b;s.minHeight=this.getUsePreferredHeightAsMin()?Math.max(this.getMinHeight(),this.getPreferredHeight()):this.getMinHeight();s.maxHeight=this.getMaxHeight();};}else {delete this._resizeSession;};};proto._onwindowmouseup=function(e){var s=this._resizeSession;if(s){this.setCapture(false);this.getTopLevelWidget().setGlobalCursor(null);switch(this.getResizeMethod()){case "frame":var o=this._frame;if(!(o&&o.getParent())){break;};case "lazyopaque":if(isValidNumber(s.lastLeft)){this.setLeft(s.lastLeft);};if(isValidNumber(s.lastTop)){this.setTop(s.lastTop);};if(isValidNumber(s.lastWidth)){this.setWidth(s.lastWidth);};if(isValidNumber(s.lastHeight)){this.setHeight(s.lastHeight);};if(this.getResizeMethod()=="frame"){this._frame.setParent(null);};break;case "translucent":this.setOpacity(null);break;};delete this._resizeMode;delete this._resizeSession;};};proto._near=function(p,e){return e>(p-5)&&e<(p+5);};proto._onwindowmousemove=function(e){if(!this.getResizeable()||this.getState()!=null){return;};var s=this._resizeSession;if(s){switch(this._resizeMode){case "nw":case "sw":case "w":s.lastWidth=(s.boxWidth+s.boxLeft-Math.max(e.getPageX(),s.parentAreaOffsetLeft)).limit(s.minWidth,s.maxWidth);s.lastLeft=s.boxRight-s.lastWidth-s.parentAreaOffsetLeft;break;case "ne":case "se":case "e":s.lastWidth=(Math.min(e.getPageX(),s.parentAreaOffsetRight)-s.boxLeft).limit(s.minWidth,s.maxWidth);break;};switch(this._resizeMode){case "nw":case "ne":case "n":s.lastHeight=(s.boxHeight+s.boxTop-Math.max(e.getPageY(),s.parentAreaOffsetTop)).limit(s.minHeight,s.maxHeight);s.lastTop=s.boxBottom-s.lastHeight-s.parentAreaOffsetTop;break;case "sw":case "se":case "s":s.lastHeight=(Math.min(e.getPageY(),s.parentAreaOffsetBottom)-s.boxTop).limit(s.minHeight,s.maxHeight);break;};switch(this.getResizeMethod()){case "opaque":case "translucent":switch(this._resizeMode){case "nw":case "sw":case "w":this.setLeft(s.lastLeft);case "ne":case "se":case "e":this.setWidth(s.lastWidth);};switch(this._resizeMode){case "nw":case "ne":case "n":this.setTop(s.lastTop);case "sw":case "se":case "s":this.setHeight(s.lastHeight);};break;default:var o=this.getResizeMethod()=="frame"?this._frame:this;switch(this._resizeMode){case "nw":case "sw":case "w":o._d3Horizontal(s.lastLeft);case "ne":case "se":case "e":o._applySizeHorizontal(s.lastWidth);};switch(this._resizeMode){case "nw":case "ne":case "n":o._d3Vertical(s.lastTop);case "sw":case "se":case "s":o._applySizeVertical(s.lastHeight);};};}else {var resizeMode="";if(this._near(this.getComputedPageBoxTop(),e.getPageY())){resizeMode="n";}else if(this._near(this.getComputedPageBoxBottom(),e.getPageY())){resizeMode="s";};if(this._near(this.getComputedPageBoxLeft(),e.getPageX())){resizeMode+="w";}else if(this._near(this.getComputedPageBoxRight(),e.getPageX())){resizeMode+="e";};if(resizeMode!=""){this._resizeMode=resizeMode;this.setCursor(resizeMode+"-resize");}else {delete this._resizeMode;this.setCursor(null);};};};proto._oniconmousedown=function(e){e.stopPropagation();};proto._onbuttonmousedown=function(e){e.stopPropagation();};proto._oniconload=function(e){this._layoutCaption();};proto._oncaptionmousedown=function(e){if(e.isNotLeftButton()||!this.getMoveable()||this.getState()!=null){return;};this._captionbar.setCapture(true);var pa=this.getParent();var l=pa.getComputedPageAreaLeft();var t=pa.getComputedPageAreaTop();var r=pa.getComputedPageAreaRight();var b=pa.getComputedPageAreaBottom();this._dragSession=
+{offsetX:e.getPageX()-this.getComputedPageBoxLeft()+l,offsetY:e.getPageY()-this.getComputedPageBoxTop()+t,parentAvailableAreaLeft:l+5,parentAvailableAreaTop:t+5,parentAvailableAreaRight:r-5,parentAvailableAreaBottom:b-5
+};switch(this.getMoveMethod()){case "translucent":this.setOpacity(0.5);break;case "frame":var f=this._frame;f._d3Horizontal(this.getComputedPageBoxLeft()-l);f._d3Vertical(this.getComputedPageBoxTop()-t);f._applySizeHorizontal(this.getComputedBoxWidth());f._applySizeVertical(this.getComputedBoxHeight());f.setZIndex(this.getZIndex()+1);f.setParent(this.getParent());break;};};proto._oncaptionmouseup=function(e){var s=this._dragSession;if(!s){return;};this._captionbar.setCapture(false);if(isValidNumber(s.lastX)){this.setLeft(s.lastX);};if(isValidNumber(s.lastY)){this.setTop(s.lastY);};switch(this.getMoveMethod()){case "translucent":this.setOpacity(null);break;case "frame":this._frame.setParent(null);break;};delete this._dragSession;};proto._oncaptionmousemove=function(e){var s=this._dragSession;if(!s||!this._captionbar.getCapture()){return;};if(!e.getPageX().inrange(s.parentAvailableAreaLeft,s.parentAvailableAreaRight)||!e.getPageY().inrange(s.parentAvailableAreaTop,s.parentAvailableAreaBottom)){return;};var o=this.getMoveMethod()=="frame"?this._frame:this;o._d3Horizontal(s.lastX=e.getPageX()-s.offsetX);o._d3Vertical(s.lastY=e.getPageY()-s.offsetY);};proto._onminimizebuttonclick=function(e){this.minimize();e.stopPropagation();};proto._onrestorebuttonclick=function(e){this.restore();e.stopPropagation();};proto._onmaximizebuttonclick=function(e){this.maximize();e.stopPropagation();};proto._onclosebuttonclick=function(e){this.close();e.stopPropagation();};proto.dispose=function(){if(this.getDisposed()){return;};this.removeEventListener("mousedown",this._onwindowmousedown,this);this.removeEventListener("mouseup",this._onwindowmouseup,this);this.removeEventListener("mousemove",this._onwindowmousemove,this);var w=this._caption;if(w){w.dispose();this._caption=null;};w=this._icon;if(w){w.removeEventListener("mousedown",this._oniconmousedown,this);w.dispose();this._icon=null;};w=this._closeButton;if(w){w.removeEventListener("click",this._onclosebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._closeButton=null;};w=this._restoreButton;if(w){w.removeEventListener("click",this._onrestorebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._restoreButton=null;};w=this._maximizeButton;if(w){w.removeEventListener("click",this._onmaximizebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._maximizeButton=null;};w=this._minimizeButton;if(w){w.removeEventListener("click",this._onminimizebuttonclick,this);w.removeEventListener("mousedown",this._onbuttonmousedown,this);w.dispose();this._minimizeButton=null;};w=this._captionbar;if(w){w.removeEventListener("mousedown",this._oncaptionmousedown,this);w.removeEventListener("mouseup",this._oncaptionmouseup,this);w.removeEventListener("mousemove",this._oncaptionmousemove,this);w.dispose();this._captionbar=null;};w=this._pane;if(w){w.dispose();this._pane=null;};w=this._statusbar;if(w){w.dispose();this._statusbar=null
+};}; \ No newline at end of file