71 t.features = f; |
71 t.features = f; |
72 t.params = p; |
72 t.params = p; |
73 t.onOpen.dispatch(t, f, p); |
73 t.onOpen.dispatch(t, f, p); |
74 |
74 |
75 if (f.type) { |
75 if (f.type) { |
76 opt += ' modal ' + f.type; |
76 opt += ' mceModal'; |
|
77 |
|
78 if (f.type) |
|
79 opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1); |
|
80 |
77 f.resizable = false; |
81 f.resizable = false; |
78 } |
82 } |
79 |
83 |
80 if (f.statusbar) |
84 if (f.statusbar) |
81 opt += ' statusbar'; |
85 opt += ' mceStatusbar'; |
82 |
86 |
83 if (f.resizable) |
87 if (f.resizable) |
84 opt += ' resizable'; |
88 opt += ' mceResizable'; |
85 |
89 |
86 if (f.minimizable) |
90 if (f.minimizable) |
87 opt += ' minimizable'; |
91 opt += ' mceMinimizable'; |
88 |
92 |
89 if (f.maximizable) |
93 if (f.maximizable) |
90 opt += ' maximizable'; |
94 opt += ' mceMaximizable'; |
91 |
95 |
92 if (f.movable) |
96 if (f.movable) |
93 opt += ' movable'; |
97 opt += ' mceMovable'; |
94 |
98 |
95 // Create DOM objects |
99 // Create DOM objects |
96 t._addAll(document.body, |
100 t._addAll(document.body, |
97 ['div', {id : id, 'class' : ed.settings.inlinepopups_skin || 'clearlooks2', style : 'width:100px;height:100px'}, |
101 ['div', {id : id, 'class' : ed.settings.inlinepopups_skin || 'clearlooks2', style : 'width:100px;height:100px'}, |
98 ['div', {id : id + '_wrapper', 'class' : 'wrapper' + opt}, |
102 ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt}, |
99 ['div', {id : id + '_top', 'class' : 'top'}, |
103 ['div', {id : id + '_top', 'class' : 'mceTop'}, |
100 ['div', {'class' : 'left'}], |
104 ['div', {'class' : 'mceLeft'}], |
101 ['div', {'class' : 'center'}], |
105 ['div', {'class' : 'mceCenter'}], |
102 ['div', {'class' : 'right'}], |
106 ['div', {'class' : 'mceRight'}], |
103 ['span', {id : id + '_title'}, f.title || ''] |
107 ['span', {id : id + '_title'}, f.title || ''] |
104 ], |
108 ], |
105 |
109 |
106 ['div', {id : id + '_middle', 'class' : 'middle'}, |
110 ['div', {id : id + '_middle', 'class' : 'mceMiddle'}, |
107 ['div', {id : id + '_left', 'class' : 'left'}], |
111 ['div', {id : id + '_left', 'class' : 'mceLeft'}], |
108 ['span', {id : id + '_content'}], |
112 ['span', {id : id + '_content'}], |
109 ['div', {id : id + '_right', 'class' : 'right'}] |
113 ['div', {id : id + '_right', 'class' : 'mceRight'}] |
110 ], |
114 ], |
111 |
115 |
112 ['div', {id : id + '_bottom', 'class' : 'bottom'}, |
116 ['div', {id : id + '_bottom', 'class' : 'mceBottom'}, |
113 ['div', {'class' : 'left'}], |
117 ['div', {'class' : 'mceLeft'}], |
114 ['div', {'class' : 'center'}], |
118 ['div', {'class' : 'mceCenter'}], |
115 ['div', {'class' : 'right'}], |
119 ['div', {'class' : 'mceRight'}], |
116 ['span', {id : id + '_status'}, 'Content'] |
120 ['span', {id : id + '_status'}, 'Content'] |
117 ], |
121 ], |
118 |
122 |
119 ['a', {'class' : 'move', href : 'javascript:;'}], |
123 ['a', {'class' : 'mceMove', href : 'javascript:;'}], |
120 ['a', {'class' : 'min', href : 'javascript:;', onmousedown : 'return false;'}], |
124 ['a', {'class' : 'mceMin', href : 'javascript:;', onmousedown : 'return false;'}], |
121 ['a', {'class' : 'max', href : 'javascript:;', onmousedown : 'return false;'}], |
125 ['a', {'class' : 'mceMax', href : 'javascript:;', onmousedown : 'return false;'}], |
122 ['a', {'class' : 'med', href : 'javascript:;', onmousedown : 'return false;'}], |
126 ['a', {'class' : 'mceMed', href : 'javascript:;', onmousedown : 'return false;'}], |
123 ['a', {'class' : 'close', href : 'javascript:;', onmousedown : 'return false;'}], |
127 ['a', {'class' : 'mceClose', href : 'javascript:;', onmousedown : 'return false;'}], |
124 ['a', {id : id + '_resize_n', 'class' : 'resize resize-n', href : 'javascript:;'}], |
128 ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', href : 'javascript:;'}], |
125 ['a', {id : id + '_resize_s', 'class' : 'resize resize-s', href : 'javascript:;'}], |
129 ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', href : 'javascript:;'}], |
126 ['a', {id : id + '_resize_w', 'class' : 'resize resize-w', href : 'javascript:;'}], |
130 ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', href : 'javascript:;'}], |
127 ['a', {id : id + '_resize_e', 'class' : 'resize resize-e', href : 'javascript:;'}], |
131 ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', href : 'javascript:;'}], |
128 ['a', {id : id + '_resize_nw', 'class' : 'resize resize-nw', href : 'javascript:;'}], |
132 ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', href : 'javascript:;'}], |
129 ['a', {id : id + '_resize_ne', 'class' : 'resize resize-ne', href : 'javascript:;'}], |
133 ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', href : 'javascript:;'}], |
130 ['a', {id : id + '_resize_sw', 'class' : 'resize resize-sw', href : 'javascript:;'}], |
134 ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', href : 'javascript:;'}], |
131 ['a', {id : id + '_resize_se', 'class' : 'resize resize-se', href : 'javascript:;'}] |
135 ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', href : 'javascript:;'}] |
132 ] |
136 ] |
133 ] |
137 ] |
134 ); |
138 ); |
135 |
139 |
136 DOM.setStyles(id, {top : -10000, left : -10000}); |
140 DOM.setStyles(id, {top : -10000, left : -10000}); |
157 if (!f.type) { |
161 if (!f.type) { |
158 DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'}); |
162 DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'}); |
159 DOM.setStyles(id + '_ifr', {width : f.width, height : f.height}); |
163 DOM.setStyles(id + '_ifr', {width : f.width, height : f.height}); |
160 DOM.setAttrib(id + '_ifr', 'src', u); |
164 DOM.setAttrib(id + '_ifr', 'src', u); |
161 } else { |
165 } else { |
162 DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'button ok', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok'); |
166 DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok'); |
163 |
167 |
164 if (f.type == 'confirm') |
168 if (f.type == 'confirm') |
165 DOM.add(id + '_wrapper', 'a', {'class' : 'button cancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel'); |
169 DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel'); |
166 |
170 |
167 DOM.add(id + '_middle', 'div', {'class' : 'icon'}); |
171 DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'}); |
168 DOM.setHTML(id + '_content', f.content.replace('\n', '<br />')); |
172 DOM.setHTML(id + '_content', f.content.replace('\n', '<br />')); |
169 } |
173 } |
170 |
174 |
171 // Register events |
175 // Register events |
172 mdf = Event.add(id, 'mousedown', function(e) { |
176 mdf = Event.add(id, 'mousedown', function(e) { |
187 vp.h -= 2; |
191 vp.h -= 2; |
188 |
192 |
189 w.element.moveTo(vp.x, vp.y); |
193 w.element.moveTo(vp.x, vp.y); |
190 w.element.resizeTo(vp.w, vp.h); |
194 w.element.resizeTo(vp.w, vp.h); |
191 DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight}); |
195 DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight}); |
192 DOM.addClass(id + '_wrapper', 'maximized'); |
196 DOM.addClass(id + '_wrapper', 'mceMaximized'); |
193 } else if (n.className == 'med') { |
197 } else if (n.className == 'mceMed') { |
194 // Reset to old size |
198 // Reset to old size |
195 w.element.moveTo(w.oldPos.x, w.oldPos.y); |
199 w.element.moveTo(w.oldPos.x, w.oldPos.y); |
196 w.element.resizeTo(w.oldSize.w, w.oldSize.h); |
200 w.element.resizeTo(w.oldSize.w, w.oldSize.h); |
197 w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight); |
201 w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight); |
198 |
202 |
199 DOM.removeClass(id + '_wrapper', 'maximized'); |
203 DOM.removeClass(id + '_wrapper', 'mceMaximized'); |
200 } else if (n.className == 'move') |
204 } else if (n.className == 'mceMove') |
201 return t._startDrag(id, e, n.className); |
205 return t._startDrag(id, e, n.className); |
202 else if (DOM.hasClass(n, 'resize')) |
206 else if (DOM.hasClass(n, 'mceResize')) |
203 return t._startDrag(id, e, n.className.substring(7)); |
207 return t._startDrag(id, e, n.className.substring(13)); |
204 } |
208 } |
205 }); |
209 }); |
206 |
210 |
207 clf = Event.add(id, 'click', function(e) { |
211 clf = Event.add(id, 'click', function(e) { |
208 var n = e.target; |
212 var n = e.target; |
209 |
213 |
210 t.focus(id); |
214 t.focus(id); |
211 |
215 |
212 if (n.nodeName == 'A' || n.nodeName == 'a') { |
216 if (n.nodeName == 'A' || n.nodeName == 'a') { |
213 switch (n.className) { |
217 switch (n.className) { |
214 case 'close': |
218 case 'mceClose': |
215 t.close(null, id); |
219 t.close(null, id); |
216 return Event.cancel(e); |
220 return Event.cancel(e); |
217 |
221 |
218 case 'button ok': |
222 case 'mceButton mceOk': |
219 case 'button cancel': |
223 case 'mceButton mceCancel': |
220 f.button_func(n.className == 'button ok'); |
224 f.button_func(n.className == 'mceButton mceOk'); |
221 return Event.cancel(e); |
225 return Event.cancel(e); |
222 } |
226 } |
223 } |
227 } |
224 }); |
228 }); |
225 |
229 |