summaryrefslogtreecommitdiff
path: root/swat2/style/qooxdoo/widgets/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'swat2/style/qooxdoo/widgets/widgets')
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxAtom.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBlocker.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxBoxLayout.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxCheckBox.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxClientDocument.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxColorSelector.js5
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxComboBox.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxContainer.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxDockLayout.js4
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxFieldSet.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxFlowLayout.js3
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxForm.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxGallery.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxGalleryList.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxGridLayout.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxIframe.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxImage.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxImagePreloader.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxInline.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxLayout.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxList.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxListItem.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxListView.js7
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenu.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenuBar.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenuBarButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenuButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxMenuSeparator.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxPasswordField.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxPopup.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxRadioButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxSpinner.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTab.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTabBar.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTabFrame.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTabPage.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTabPane.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTerminator.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTextArea.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTextField.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBar.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarPart.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxToolTip.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTree.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTreeElement.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTreeFile.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxTreeFolder.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxWidget.js2
-rw-r--r--swat2/style/qooxdoo/widgets/widgets/QxWindow.js5
67 files changed, 148 insertions, 0 deletions
diff --git a/swat2/style/qooxdoo/widgets/widgets/QxAtom.js b/swat2/style/qooxdoo/widgets/widgets/QxAtom.js
new file mode 100644
index 00000000000..6603d5b6b24
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js b/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorBar.js
new file mode 100644
index 00000000000..7a9d4c171eb
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js b/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorButton.js
new file mode 100644
index 00000000000..5aa4612267a
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js b/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorFrame.js
new file mode 100644
index 00000000000..c78277a34c1
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js b/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorPage.js
new file mode 100644
index 00000000000..ee4c0efd241
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js b/swat2/style/qooxdoo/widgets/widgets/QxBarSelectorPane.js
new file mode 100644
index 00000000000..822474cc774
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBlocker.js b/swat2/style/qooxdoo/widgets/widgets/QxBlocker.js
new file mode 100644
index 00000000000..b3c8fcda185
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxBoxLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxBoxLayout.js
new file mode 100644
index 00000000000..9d3e7bb47b4
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxButton.js b/swat2/style/qooxdoo/widgets/widgets/QxButton.js
new file mode 100644
index 00000000000..4c4c8def073
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxCheckBox.js b/swat2/style/qooxdoo/widgets/widgets/QxCheckBox.js
new file mode 100644
index 00000000000..33e6d5497ac
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxClientDocument.js b/swat2/style/qooxdoo/widgets/widgets/QxClientDocument.js
new file mode 100644
index 00000000000..60da8a147af
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js b/swat2/style/qooxdoo/widgets/widgets/QxColorPresetPopup.js
new file mode 100644
index 00000000000..13f444f7b71
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxColorSelector.js b/swat2/style/qooxdoo/widgets/widgets/QxColorSelector.js
new file mode 100644
index 00000000000..65dee664a21
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxComboBox.js b/swat2/style/qooxdoo/widgets/widgets/QxComboBox.js
new file mode 100644
index 00000000000..5af95e4f030
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxContainer.js b/swat2/style/qooxdoo/widgets/widgets/QxContainer.js
new file mode 100644
index 00000000000..f89fb97d8d2
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxDockLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxDockLayout.js
new file mode 100644
index 00000000000..ccd41abdb79
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxFieldSet.js b/swat2/style/qooxdoo/widgets/widgets/QxFieldSet.js
new file mode 100644
index 00000000000..c40c5224e39
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxFlowLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxFlowLayout.js
new file mode 100644
index 00000000000..c62b09aba88
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxForm.js b/swat2/style/qooxdoo/widgets/widgets/QxForm.js
new file mode 100644
index 00000000000..649607a5135
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxGallery.js b/swat2/style/qooxdoo/widgets/widgets/QxGallery.js
new file mode 100644
index 00000000000..1359aabf564
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxGalleryList.js b/swat2/style/qooxdoo/widgets/widgets/QxGalleryList.js
new file mode 100644
index 00000000000..898f7d0093d
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxGridLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxGridLayout.js
new file mode 100644
index 00000000000..32465982d26
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxHorizontalBoxLayout.js
new file mode 100644
index 00000000000..a9c5ab7af15
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxIframe.js b/swat2/style/qooxdoo/widgets/widgets/QxIframe.js
new file mode 100644
index 00000000000..1bfa34ade35
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxImage.js b/swat2/style/qooxdoo/widgets/widgets/QxImage.js
new file mode 100644
index 00000000000..801f4de5a87
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxImagePreloader.js b/swat2/style/qooxdoo/widgets/widgets/QxImagePreloader.js
new file mode 100644
index 00000000000..18255032ec7
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxInline.js b/swat2/style/qooxdoo/widgets/widgets/QxInline.js
new file mode 100644
index 00000000000..4ee644cac68
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js b/swat2/style/qooxdoo/widgets/widgets/QxInputCheckIcon.js
new file mode 100644
index 00000000000..0256852df87
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxLayout.js
new file mode 100644
index 00000000000..804d99680f7
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxList.js b/swat2/style/qooxdoo/widgets/widgets/QxList.js
new file mode 100644
index 00000000000..702f2081c11
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxListItem.js b/swat2/style/qooxdoo/widgets/widgets/QxListItem.js
new file mode 100644
index 00000000000..864c9d086b9
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxListView.js b/swat2/style/qooxdoo/widgets/widgets/QxListView.js
new file mode 100644
index 00000000000..7009af04a2c
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenu.js b/swat2/style/qooxdoo/widgets/widgets/QxMenu.js
new file mode 100644
index 00000000000..4c060c488a6
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenuBar.js b/swat2/style/qooxdoo/widgets/widgets/QxMenuBar.js
new file mode 100644
index 00000000000..81723c681b0
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenuBarButton.js b/swat2/style/qooxdoo/widgets/widgets/QxMenuBarButton.js
new file mode 100644
index 00000000000..d78a61b862b
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenuButton.js b/swat2/style/qooxdoo/widgets/widgets/QxMenuButton.js
new file mode 100644
index 00000000000..09683cca933
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js b/swat2/style/qooxdoo/widgets/widgets/QxMenuCheckBox.js
new file mode 100644
index 00000000000..9b0e42402c8
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js b/swat2/style/qooxdoo/widgets/widgets/QxMenuRadioButton.js
new file mode 100644
index 00000000000..68f596a4a3c
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxMenuSeparator.js b/swat2/style/qooxdoo/widgets/widgets/QxMenuSeparator.js
new file mode 100644
index 00000000000..ad200d535ed
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxPasswordField.js b/swat2/style/qooxdoo/widgets/widgets/QxPasswordField.js
new file mode 100644
index 00000000000..3309fd6f260
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxPopup.js b/swat2/style/qooxdoo/widgets/widgets/QxPopup.js
new file mode 100644
index 00000000000..055e6939d71
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxRadioButton.js b/swat2/style/qooxdoo/widgets/widgets/QxRadioButton.js
new file mode 100644
index 00000000000..341aad500a6
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxSpinner.js b/swat2/style/qooxdoo/widgets/widgets/QxSpinner.js
new file mode 100644
index 00000000000..81725cb7537
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTab.js b/swat2/style/qooxdoo/widgets/widgets/QxTab.js
new file mode 100644
index 00000000000..620884e78aa
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTabBar.js b/swat2/style/qooxdoo/widgets/widgets/QxTabBar.js
new file mode 100644
index 00000000000..4370d8c7f10
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTabFrame.js b/swat2/style/qooxdoo/widgets/widgets/QxTabFrame.js
new file mode 100644
index 00000000000..7b42086dd75
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTabPage.js b/swat2/style/qooxdoo/widgets/widgets/QxTabPage.js
new file mode 100644
index 00000000000..6e3febc771d
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTabPane.js b/swat2/style/qooxdoo/widgets/widgets/QxTabPane.js
new file mode 100644
index 00000000000..ac61469817e
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTerminator.js b/swat2/style/qooxdoo/widgets/widgets/QxTerminator.js
new file mode 100644
index 00000000000..0310d218507
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTextArea.js b/swat2/style/qooxdoo/widgets/widgets/QxTextArea.js
new file mode 100644
index 00000000000..f9e00fe6c5f
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTextField.js b/swat2/style/qooxdoo/widgets/widgets/QxTextField.js
new file mode 100644
index 00000000000..82a0571c972
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBar.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBar.js
new file mode 100644
index 00000000000..364ca3b9ece
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarButton.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarButton.js
new file mode 100644
index 00000000000..2e7aef7e9cf
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarCheckBox.js
new file mode 100644
index 00000000000..82c114287e9
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarMenuButton.js
new file mode 100644
index 00000000000..17d344142cc
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarPart.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarPart.js
new file mode 100644
index 00000000000..9202865d5f8
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarPartHandle.js
new file mode 100644
index 00000000000..4af974a40cf
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarRadioButton.js
new file mode 100644
index 00000000000..2516e101ede
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js b/swat2/style/qooxdoo/widgets/widgets/QxToolBarSeparator.js
new file mode 100644
index 00000000000..71474778796
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxToolTip.js b/swat2/style/qooxdoo/widgets/widgets/QxToolTip.js
new file mode 100644
index 00000000000..13175094e0c
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTree.js b/swat2/style/qooxdoo/widgets/widgets/QxTree.js
new file mode 100644
index 00000000000..1fdd24eac3a
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTreeElement.js b/swat2/style/qooxdoo/widgets/widgets/QxTreeElement.js
new file mode 100644
index 00000000000..a73882f123e
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTreeFile.js b/swat2/style/qooxdoo/widgets/widgets/QxTreeFile.js
new file mode 100644
index 00000000000..2ff2899c7dc
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxTreeFolder.js b/swat2/style/qooxdoo/widgets/widgets/QxTreeFolder.js
new file mode 100644
index 00000000000..7bdba69cd32
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js b/swat2/style/qooxdoo/widgets/widgets/QxVerticalBoxLayout.js
new file mode 100644
index 00000000000..c74d6bf8dd6
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxWidget.js b/swat2/style/qooxdoo/widgets/widgets/QxWidget.js
new file mode 100644
index 00000000000..a07389c2f3e
--- /dev/null
+++ b/swat2/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/swat2/style/qooxdoo/widgets/widgets/QxWindow.js b/swat2/style/qooxdoo/widgets/widgets/QxWindow.js
new file mode 100644
index 00000000000..e4732f5666d
--- /dev/null
+++ b/swat2/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