-var SWM_ANCHOR_NONE = 0x00;\r
-var SWM_ANCHOR_TOP = 0x01;\r
-var SWM_ANCHOR_BOTTOM = 0x02;\r
-var SWM_ANCHOR_LEFT = 0x04;\r
-var SWM_ANCHOR_RIGHT = 0x08;\r
-\r
-var SWMPanel = new Class({\r
- initialize: function(parent, hidden) {\r
- this.parent = parent;\r
- \r
- var element = new Element("div", {"styles": { "position": "absolute" } });\r
- this.element = element;\r
- this.element.wmpanel = this;\r
- \r
- if(hidden) {\r
- this.setHidden(true);\r
- } else {\r
- this.hidden = false;\r
- }\r
- parent.addClass("swmelement");\r
- \r
- parent.appendChild(this.element);\r
- this.anchor = SWM_ANCHOR_NONE;\r
- },\r
- setHeight: function(height) {\r
- this.height = height;\r
- },\r
- setWidth: function(width) {\r
- this.width = width;\r
- },\r
- setHidden: function(value) {\r
- this.hidden = value;\r
- if(value) {\r
- this.element.setStyle("display", "none");\r
- } else {\r
- this.element.setStyle("display", "block");\r
- }\r
- }\r
-});\r
-\r
-window.addEvent("domready", function() {\r
- function reworkLayout(container) {\r
- function anchorFilter(x, anchor) {\r
- return x.filter(function(y) {\r
- if(y.anchor == anchor)\r
- return true;\r
- });\r
- }\r
- var x = container.getChildren().map(function(x) {\r
- return x.wmpanel\r
- });\r
- var top = anchorFilter(x, SWM_ANCHOR_TOP);\r
- var bottom = anchorFilter(x, SWM_ANCHOR_BOTTOM);\r
- var none = anchorFilter(x, SWM_ANCHOR_NONE);\r
-\r
- var left = anchorFilter(x, SWM_ANCHOR_LEFT);\r
- var right = anchorFilter(x, SWM_ANCHOR_RIGHT);\r
- \r
- var tpos = 0;\r
- for(var i=0;i<top.length;i++) {\r
- if(top[i].hidden)\r
- continue;\r
- var obj = top[i].element;\r
- obj.setStyles({"top": tpos + "px", "left": "0px", "right": "0px"});\r
- tpos = tpos + obj.getSize().y;\r
- }\r
- \r
- var bpos = 0;\r
- for(var i=0;i<bottom.length;i++) {\r
- if(bottom[i].hidden)\r
- continue;\r
- var obj = bottom[i].element;\r
- obj.setStyles({"bottom": bpos + "px", "left": "0px", "right": "0px"});\r
- bpos = bpos + obj.getSize().y;\r
- }\r
- \r
- var lpos = 0;\r
- for(var i=0;i<left.length;i++) {\r
- if(left[i].hidden)\r
- continue;\r
- var obj = left[i].element;\r
- obj.setStyles({"left": lpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
- lpos = lpos + obj.getSize().x;\r
- }\r
-\r
- var rpos = 0;\r
- for(var i=0;i<right.length;i++) {\r
- if(right[i].hidden)\r
- continue;\r
- var obj = right[i].element;\r
- obj.setStyles({"right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
- rpos = rpos + obj.getSize().x;\r
- }\r
-\r
- for(var i=0;i<none.length;i++) {\r
- if(none[i].hidden)\r
- continue;\r
- var obj = none[i].element;\r
- obj.setStyles({"left": lpos + "px", "right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
- }\r
- }\r
- \r
- window.addEvent("resize", function() {\r
- $$("div.swmelement").each(reworkLayout);\r
- });\r
+var SWM_ANCHOR_NONE = 0x00;
+var SWM_ANCHOR_TOP = 0x01;
+var SWM_ANCHOR_BOTTOM = 0x02;
+var SWM_ANCHOR_LEFT = 0x04;
+var SWM_ANCHOR_RIGHT = 0x08;
+
+var SWMPanel = new Class({
+ initialize: function(parent, hidden) {
+ this.parent = parent;
+
+ var element = new Element("div", {"styles": { "position": "absolute" } });
+ this.element = element;
+ this.element.wmpanel = this;
+
+ if(hidden) {
+ this.setHidden(true);
+ } else {
+ this.hidden = false;
+ }
+ parent.addClass("swmelement");
+
+ parent.appendChild(this.element);
+ this.anchor = SWM_ANCHOR_NONE;
+ },
+ setHeight: function(height) {
+ this.height = height;
+ },
+ setWidth: function(width) {
+ this.width = width;
+ },
+ setHidden: function(value) {
+ this.hidden = value;
+ if(value) {
+ this.element.setStyle("display", "none");
+ } else {
+ this.element.setStyle("display", "block");
+ }
+ }
+});
+
+window.addEvent("domready", function() {
+ function reworkLayout(container) {
+ function anchorFilter(x, anchor) {
+ return x.filter(function(y) {
+ if(y.anchor == anchor)
+ return true;
+ });
+ }
+ var x = container.getChildren().map(function(x) {
+ return x.wmpanel
+ });
+ var top = anchorFilter(x, SWM_ANCHOR_TOP);
+ var bottom = anchorFilter(x, SWM_ANCHOR_BOTTOM);
+ var none = anchorFilter(x, SWM_ANCHOR_NONE);
+
+ var left = anchorFilter(x, SWM_ANCHOR_LEFT);
+ var right = anchorFilter(x, SWM_ANCHOR_RIGHT);
+
+ var tpos = 0;
+ for(var i=0;i<top.length;i++) {
+ if(top[i].hidden)
+ continue;
+ var obj = top[i].element;
+ obj.setStyles({"top": tpos + "px", "left": "0px", "right": "0px"});
+ tpos = tpos + obj.getSize().y;
+ }
+
+ var bpos = 0;
+ for(var i=0;i<bottom.length;i++) {
+ if(bottom[i].hidden)
+ continue;
+ var obj = bottom[i].element;
+ obj.setStyles({"bottom": bpos + "px", "left": "0px", "right": "0px"});
+ bpos = bpos + obj.getSize().y;
+ }
+
+ var lpos = 0;
+ for(var i=0;i<left.length;i++) {
+ if(left[i].hidden)
+ continue;
+ var obj = left[i].element;
+ obj.setStyles({"left": lpos + "px", "top": tpos + "px", "bottom": bpos + "px"});
+ lpos = lpos + obj.getSize().x;
+ }
+
+ var rpos = 0;
+ for(var i=0;i<right.length;i++) {
+ if(right[i].hidden)
+ continue;
+ var obj = right[i].element;
+ obj.setStyles({"right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});
+ rpos = rpos + obj.getSize().x;
+ }
+
+ for(var i=0;i<none.length;i++) {
+ if(none[i].hidden)
+ continue;
+ var obj = none[i].element;
+ obj.setStyles({"left": lpos + "px", "right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});
+ }
+ }
+
+ window.addEvent("resize", function() {
+ $$("div.swmelement").each(reworkLayout);
+ });