8
8
this.popups = new Array();
9
9
this.popups_width = 300;
10
10
this.num_opened = 0;
12
this.super_popup = false;
14
this.resizable = null;
12
16
if (typeof cb != "undefined") this.RegisterCallback(cb,cbattr);
20
POPUP.prototype.TryFixedSizeMode = function(sidebar, popup, geometry_node) {
21
this.super_popup = false;
23
var node = domGetLastChildByName(sidebar, "div");
26
if (!domGetFirstChildByName(node, "table")) {
27
node = domGetLastChildByName(node, "div");
30
var subnodes = node.getElementsByTagName("table");
31
if ((!subnodes)||(!subnodes.length))
32
alert("problem detecting popups structure");
34
this.super_node = node;
36
var switch_node = document.getElementById("popup_switch_" + popup);
37
nodes = switch_node.getElementsByTagName("button");
38
if ((!nodes)||(!nodes.length)) {
39
alert("problem detecting popups structure");
43
this.geometry_nodes = new Array();
46
node = document.getElementById(geometry_node);
48
alert("Invalid geometry_node is supplied");
51
this.geometry_nodes.push(node);
54
this.super_button = nodes[0];
55
this.super_popup = popup;
15
59
POPUP.prototype.RegisterOnCallback = function (module, cb, cbattr, call_once) {
16
60
if (typeof this.popup_on_callbacks[module] == "undefined")
17
61
this.popup_on_callbacks[module] = new Array();
58
102
POPUP.prototype.UpdateGeometry = function(module) {
103
this.UpdateGlobalGeometry();
60
106
var node = document.getElementById("popup_" + module);
61
107
var switch_node = document.getElementById("popup_switch_" + module);
208
POPUP.prototype.UpdateGlobalGeometry = function(height, vend) {
209
if (!this.super_popup) return;
211
if (vend) this.global_end = vend;
212
else if (this.global_end) vend = this.global_end;
215
var mboffset = domGetNodeOffset(this.super_node);
216
var real_size = vend - mboffset[1];
218
var mboffset = domGetNodeOffset(this.super_button);
219
var new_size = vend - mboffset[1];
220
domSetHeight(this.super_button, new_size, true, this.super_node, real_size);
222
if (!this.popup_states['controls']) return;
224
for (var i = 0; i < this.geometry_nodes.length; ++i) {
225
var node = this.geometry_nodes[i];
226
var mboffset = domGetNodeOffset(node);
228
var new_size = vend - mboffset[1];
229
domSetHeight(node, new_size, true, this.super_node, real_size);
161
234
function popupUpdateGeometryCallback(me, submodule) {
162
235
me.popup.UpdateGeometry(me.module);