1 | function modal(id) |
---|
2 | { |
---|
3 | try{ |
---|
4 | //content = Element(id).innerHTML; |
---|
5 | content = Element(id).cloneNode(true); |
---|
6 | // title = Element(id + '_title').value; |
---|
7 | width = 323; |
---|
8 | height = 200; |
---|
9 | // close_action = Element(id + '_close_action').value; |
---|
10 | // create_action = Element(id + '_create_action').value; |
---|
11 | // save_action = Element(id + '_save_action').value; |
---|
12 | // onload_action = Element(id + '_onload_action').value |
---|
13 | } |
---|
14 | catch(e){ |
---|
15 | alert(e); |
---|
16 | }; |
---|
17 | var objBody = document.getElementsByTagName("body").item(0); |
---|
18 | |
---|
19 | /* the Overlay */ // create overlay div and hardcode some functional styles |
---|
20 | var objOverlay = document.createElement("div"); |
---|
21 | objOverlay.setAttribute('id','overlay'); |
---|
22 | objOverlay.style.position = 'absolute'; |
---|
23 | objOverlay.style.top = '0'; |
---|
24 | objOverlay.style.left = '0'; |
---|
25 | objOverlay.style.zIndex = '90'; |
---|
26 | objOverlay.style.width = '100%'; |
---|
27 | |
---|
28 | var arrayPageSize = getPageSize(); |
---|
29 | var arrayPageScroll = getPageScroll(); |
---|
30 | |
---|
31 | // set height of Overlay to take up whole page and insert. Show at the end of this function. |
---|
32 | objOverlay.style.height = (arrayPageSize[1] + 'px'); |
---|
33 | objOverlay.style.display = 'none'; |
---|
34 | objBody.insertBefore(objOverlay, objBody.firstChild); |
---|
35 | |
---|
36 | |
---|
37 | /* the div */ // create lightbox div, same note about styles as above |
---|
38 | |
---|
39 | var objLightbox = document.createElement("div"); |
---|
40 | objLightbox.setAttribute('id','lightbox'); |
---|
41 | |
---|
42 | objLightbox.style.position = 'absolute'; |
---|
43 | objLightbox.style.display = 'none'; |
---|
44 | objLightbox.style.zIndex = '100'; |
---|
45 | |
---|
46 | |
---|
47 | var objLightbox_height = height; |
---|
48 | var objLightbox_width = width; |
---|
49 | |
---|
50 | objLightbox.style.height = objLightbox_height + "px"; |
---|
51 | objLightbox.style.width = objLightbox_width + "px"; |
---|
52 | |
---|
53 | var lightboxTop = ((arrayPageSize[3] - objLightbox_height) / 2); |
---|
54 | var lightboxLeft = ((arrayPageSize[0] - objLightbox_width) / 2 ); |
---|
55 | |
---|
56 | objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px"; |
---|
57 | objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px"; |
---|
58 | |
---|
59 | objBody.insertBefore(objLightbox, objOverlay.nextSibling); |
---|
60 | |
---|
61 | |
---|
62 | // create caption |
---|
63 | /*var objCaption = document.createElement("div"); |
---|
64 | objCaption.setAttribute('id','lightboxCaption'); |
---|
65 | objCaption.innerHTML = title; |
---|
66 | objLightbox.appendChild(objCaption);*/ |
---|
67 | |
---|
68 | // create warnings |
---|
69 | var objWarning = document.createElement("div"); |
---|
70 | objWarning.setAttribute('id','lightboxWarning'); |
---|
71 | objWarning.style.height = '21px'; |
---|
72 | objLightbox.appendChild(objWarning); |
---|
73 | |
---|
74 | // Create Content |
---|
75 | var objContent = document.createElement("div"); |
---|
76 | objContent.setAttribute('id','lightboxContent'); |
---|
77 | objContent.style.height = (objLightbox_height - 65) + "px"; |
---|
78 | objContent.innerHTML = content.innerHTML; |
---|
79 | objLightbox.appendChild(objContent); |
---|
80 | |
---|
81 | //Show the modal. |
---|
82 | objOverlay.style.display = 'block'; |
---|
83 | objLightbox.style.display = ''; |
---|
84 | } |
---|
85 | |
---|
86 | function close_lightbox() |
---|
87 | { |
---|
88 | var objBody = document.getElementsByTagName("body").item(0); |
---|
89 | var lightbox = document.getElementById('overlay'); |
---|
90 | lightbox_div = document.getElementById('lightbox'); |
---|
91 | objBody.removeChild(lightbox); |
---|
92 | objBody.removeChild(lightbox_div); |
---|
93 | return; |
---|
94 | } |
---|
95 | |
---|
96 | function getPageSize(){ |
---|
97 | |
---|
98 | var xScroll, yScroll; |
---|
99 | |
---|
100 | if (window.innerHeight && window.scrollMaxY) { |
---|
101 | xScroll = document.body.scrollWidth; |
---|
102 | yScroll = window.innerHeight + window.scrollMaxY; |
---|
103 | } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac |
---|
104 | xScroll = document.body.scrollWidth; |
---|
105 | yScroll = document.body.scrollHeight; |
---|
106 | } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari |
---|
107 | xScroll = document.body.offsetWidth; |
---|
108 | yScroll = document.body.offsetHeight; |
---|
109 | } |
---|
110 | |
---|
111 | var windowWidth, windowHeight; |
---|
112 | if (self.innerHeight) { // all except Explorer |
---|
113 | windowWidth = self.innerWidth; |
---|
114 | windowHeight = self.innerHeight; |
---|
115 | } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode |
---|
116 | windowWidth = document.documentElement.clientWidth; |
---|
117 | windowHeight = document.documentElement.clientHeight; |
---|
118 | } else if (document.body) { // other Explorers |
---|
119 | windowWidth = document.body.clientWidth; |
---|
120 | windowHeight = document.body.clientHeight; |
---|
121 | } |
---|
122 | |
---|
123 | // for small pages with total height less then height of the viewport |
---|
124 | if(yScroll < windowHeight){ |
---|
125 | pageHeight = windowHeight; |
---|
126 | } else { |
---|
127 | pageHeight = yScroll; |
---|
128 | } |
---|
129 | |
---|
130 | // for small pages with total width less then width of the viewport |
---|
131 | if(xScroll < windowWidth){ |
---|
132 | pageWidth = windowWidth; |
---|
133 | } else { |
---|
134 | pageWidth = xScroll; |
---|
135 | } |
---|
136 | |
---|
137 | arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); |
---|
138 | return arrayPageSize; |
---|
139 | } |
---|
140 | |
---|
141 | function getPageScroll(){ |
---|
142 | |
---|
143 | var yScroll; |
---|
144 | |
---|
145 | if (self.pageYOffset) { |
---|
146 | yScroll = self.pageYOffset; |
---|
147 | } else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict |
---|
148 | yScroll = document.documentElement.scrollTop; |
---|
149 | } else if (document.body) {// all other Explorers |
---|
150 | yScroll = document.body.scrollTop; |
---|
151 | } |
---|
152 | |
---|
153 | arrayPageScroll = new Array('',yScroll); |
---|
154 | return arrayPageScroll; |
---|
155 | } |
---|
156 | |
---|
157 | function Element(id) |
---|
158 | { |
---|
159 | return document.getElementById(id); |
---|
160 | } |
---|
161 | |
---|
162 | function add_css(){ |
---|
163 | var headID = document.getElementsByTagName("head")[0]; |
---|
164 | var cssNode = document.createElement('link'); |
---|
165 | cssNode.type = 'text/css'; |
---|
166 | cssNode.rel = 'stylesheet'; |
---|
167 | if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) |
---|
168 | cssNode.href = URL_SERVER + "expressoMail1_2/js/modal/css/modal_ie.css"; |
---|
169 | else |
---|
170 | cssNode.href = URL_SERVER + "expressoMail1_2/js/modal/css/modal_fx.css"; |
---|
171 | |
---|
172 | cssNode.media = 'screen'; |
---|
173 | headID.appendChild(cssNode); |
---|
174 | return; |
---|
175 | |
---|
176 | } |
---|
177 | |
---|
178 | /*function load_lang(){ |
---|
179 | cExecute ('$this/js/modal/inc/load_lang', handler_load_lang); |
---|
180 | }*/ |
---|
181 | |
---|
182 | var global_langs = new Array(); |
---|
183 | function handler_load_lang(data) |
---|
184 | { |
---|
185 | global_langs = eval(data); |
---|
186 | } |
---|
187 | |
---|
188 | function get_lang(key_raw) |
---|
189 | { |
---|
190 | key = key_raw.replace(/ /g,"_"); |
---|
191 | |
---|
192 | try{ |
---|
193 | lang = eval("global_langs."+key.toLowerCase()); |
---|
194 | return lang; |
---|
195 | } |
---|
196 | catch(e){ |
---|
197 | return key_raw + '*'; |
---|
198 | } |
---|
199 | } |
---|
200 | |
---|
201 | function make_msg(msg, type) |
---|
202 | { |
---|
203 | var html_msg = |
---|
204 | '<table cellspacing="0" cellpadding="0" border="0"><tbody>'+ |
---|
205 | '<tr><td class="zIVQRb_'+type+'"/><td class="Ptde9b_'+type+'"/><td class="Qrjz3e_'+type+'"/></tr>'+ |
---|
206 | '<tr><td class="Ptde9b_'+type+'"/><td class="m14Grb_'+type+'">' + msg + '</td><td class="Ptde9b_'+type+'"/></tr>' + |
---|
207 | '<tr><td class="Gbtri_'+type+'"/><td class="Ptde9b_'+type+'"/><td class="gmNpMd_'+type+'"/></tr></tbody></table>'; |
---|
208 | return html_msg; |
---|
209 | } |
---|
210 | |
---|
211 | function write_msg(msg, type) |
---|
212 | { |
---|
213 | try |
---|
214 | { |
---|
215 | clearTimeout(setTimeout_write_msg); |
---|
216 | } |
---|
217 | catch(e){} |
---|
218 | |
---|
219 | var objLightbox = Element("lightbox"); |
---|
220 | if (objLightbox != null) |
---|
221 | { |
---|
222 | var old_divStatusBar = Element("lightboxWarning"); |
---|
223 | var bgColor = "#EEEEEE"; |
---|
224 | } |
---|
225 | else |
---|
226 | { |
---|
227 | var old_divStatusBar = Element("divStatusBar"); |
---|
228 | var bgColor = "#f7f8fa"; |
---|
229 | } |
---|
230 | |
---|
231 | var msg_div = Element('em_div_write_msg'); |
---|
232 | if(!msg_div) { |
---|
233 | msg_div = document.createElement('DIV'); |
---|
234 | msg_div.id = 'em_div_write_msg'; |
---|
235 | //msg_div.style.height = '2px'; |
---|
236 | msg_div.style.background = bgColor; |
---|
237 | msg_div.style.display = 'none'; |
---|
238 | msg_div.align = "center"; |
---|
239 | msg_div.valign = "middle"; |
---|
240 | } |
---|
241 | |
---|
242 | msg_div.innerHTML = make_msg(msg, type); |
---|
243 | |
---|
244 | clean_msg(); |
---|
245 | old_divStatusBar.parentNode.insertBefore(msg_div,old_divStatusBar); |
---|
246 | |
---|
247 | old_divStatusBar.style.display = 'none'; |
---|
248 | msg_div.style.display = ''; |
---|
249 | |
---|
250 | setTimeout_write_msg = setTimeout("clean_msg();", 4000); |
---|
251 | } |
---|
252 | |
---|
253 | function clean_msg() |
---|
254 | { |
---|
255 | var msg_div = Element('em_div_write_msg'); |
---|
256 | if ( (msg_div) && (msg_div.style.display != 'none') ) |
---|
257 | { |
---|
258 | // Msg esta em outra tela. Precisa apaga-la. |
---|
259 | /* |
---|
260 | if ( (Element("lightbox") != null) && (msg_div.nextSibling.id == 'lightboxWarning') ) {} |
---|
261 | else if ( (Element("lightbox") == null) && (msg_div.nextSibling.id == 'divStatusBar') ) {} |
---|
262 | else |
---|
263 | {*/ |
---|
264 | msg_div.style.display = 'none'; |
---|
265 | msg_div.nextSibling.style.display = ''; |
---|
266 | // } |
---|
267 | } |
---|
268 | } |
---|
269 | |
---|
270 | if (document.all) |
---|
271 | { |
---|
272 | navigator.userAgent.toLowerCase().indexOf('msie 5') != -1 ? is_ie5 = true : is_ie5 = false; |
---|
273 | is_ie = true; |
---|
274 | } |
---|
275 | |
---|
276 | add_css(); |
---|
277 | //load_lang(); |
---|