summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/beta/properties/beta.properties.json3
-rw-r--r--frontend/gamma/css/web.css3871
-rw-r--r--frontend/gamma/html/exitPage_template.html25
-rw-r--r--frontend/gamma/js/Clipperz/PM/Proxy.js2
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js33
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js52
-rw-r--r--frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js8
-rw-r--r--frontend/gamma/js/MochiKit/Async.js120
-rw-r--r--frontend/gamma/js/MochiKit/Base.js156
-rw-r--r--frontend/gamma/js/MochiKit/Color.js17
-rw-r--r--frontend/gamma/js/MochiKit/DOM.js165
-rw-r--r--frontend/gamma/js/MochiKit/DateTime.js49
-rw-r--r--frontend/gamma/js/MochiKit/DragAndDrop.js14
-rw-r--r--frontend/gamma/js/MochiKit/Format.js16
-rw-r--r--frontend/gamma/js/MochiKit/Iter.js16
-rw-r--r--frontend/gamma/js/MochiKit/Logging.js4
-rw-r--r--frontend/gamma/js/MochiKit/LoggingPane.js13
-rw-r--r--frontend/gamma/js/MochiKit/MochiKit.js11
-rw-r--r--frontend/gamma/js/MochiKit/MockDOM.js9
-rw-r--r--frontend/gamma/js/MochiKit/Position.js2
-rw-r--r--frontend/gamma/js/MochiKit/Selector.js16
-rw-r--r--frontend/gamma/js/MochiKit/Signal.js47
-rw-r--r--frontend/gamma/js/MochiKit/Sortable.js12
-rw-r--r--frontend/gamma/js/MochiKit/Style.js19
-rw-r--r--frontend/gamma/js/MochiKit/Test.js2
-rw-r--r--frontend/gamma/js/MochiKit/Text.js359
-rw-r--r--frontend/gamma/js/MochiKit/Visual.js39
-rw-r--r--frontend/gamma/js/MochiKit/__package__.js18
-rw-r--r--frontend/gamma/js/main.js10
-rw-r--r--frontend/gamma/properties/gamma.properties.json7
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/AES.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/AES.performance.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/Base.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/BigInt.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.B283.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.Value.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/PRNG.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/RSA.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/SHA.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/SRP.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/PM/Date.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/PM/Proxy.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/PM/Toll.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/PM/UI/Web/Controllers/MainController.html1
-rw-r--r--frontend/gamma/tests/tests/Clipperz/RoboFormExportProcessor.html1
-rw-r--r--frontend/gamma/tests/tests/Components/CardDialogNew/index.html4
-rw-r--r--frontend/gamma/tests/tests/Components/Tooltips/index.html4
49 files changed, 1846 insertions, 3294 deletions
diff --git a/frontend/beta/properties/beta.properties.json b/frontend/beta/properties/beta.properties.json
index 7b0c1f9..476becd 100644
--- a/frontend/beta/properties/beta.properties.json
+++ b/frontend/beta/properties/beta.properties.json
@@ -1,11 +1,14 @@
1{ 1{
2 "copyright.values": { 2 "copyright.values": {
3 "mochikit.repository": "http://svn.mochikit.com/mochikit/trunk/", 3 "mochikit.repository": "http://svn.mochikit.com/mochikit/trunk/",
4 "mochikit.version": "1249" 4 "mochikit.version": "1249"
5 }, 5 },
6
7 "html.template": "index_template.html",
8
6 "js": [ 9 "js": [
7 "MochiKit/Base.js", 10 "MochiKit/Base.js",
8 "MochiKit/Iter.js", 11 "MochiKit/Iter.js",
9 "MochiKit/DOM.js", 12 "MochiKit/DOM.js",
10 "MochiKit/Style.js", 13 "MochiKit/Style.js",
11 "MochiKit/Signal.js", 14 "MochiKit/Signal.js",
diff --git a/frontend/gamma/css/web.css b/frontend/gamma/css/web.css
index e4890b6..0a72e09 100644
--- a/frontend/gamma/css/web.css
+++ b/frontend/gamma/css/web.css
@@ -43,12 +43,18 @@ html {
43 height: 100%; 43 height: 100%;
44} 44}
45body { 45body {
46 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif; 46 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
47 margin: 0px; 47 margin: 0px;
48} 48}
49div.modalDialogMask.userInfoBoxMask {
50 -moz-opacity: 0.0;
51 opacity: .0;
52 filter: alpha(opacity=0);
53 z-index: 19000;
54}
49.reset-margin { 55.reset-margin {
50 margin: 0px; 56 margin: 0px;
51 padding: 0px; 57 padding: 0px;
52 border: 0px; 58 border: 0px;
53} 59}
54.clear { 60.clear {
@@ -85,12 +91,18 @@ html {
85 height: 100%; 91 height: 100%;
86} 92}
87body { 93body {
88 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif; 94 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
89 margin: 0px; 95 margin: 0px;
90} 96}
97div.modalDialogMask.userInfoBoxMask {
98 -moz-opacity: 0.0;
99 opacity: .0;
100 filter: alpha(opacity=0);
101 z-index: 19000;
102}
91.reset-margin { 103.reset-margin {
92 margin: 0px; 104 margin: 0px;
93 padding: 0px; 105 padding: 0px;
94 border: 0px; 106 border: 0px;
95} 107}
96.clear { 108.clear {
@@ -164,12 +176,425 @@ html {
164 height: 100%; 176 height: 100%;
165} 177}
166body { 178body {
167 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif; 179 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
168 margin: 0px; 180 margin: 0px;
169} 181}
182div.modalDialogMask.userInfoBoxMask {
183 -moz-opacity: 0.0;
184 opacity: .0;
185 filter: alpha(opacity=0);
186 z-index: 19000;
187}
188.reset-margin {
189 margin: 0px;
190 padding: 0px;
191 border: 0px;
192}
193.clear {
194 clear: both;
195}
196.hidden_none {
197 display: none;
198 visibility: hidden;
199}
200.keepTogether {
201 display: inline-block;
202 white-space: nowrap;
203}
204#mainDiv {
205 margin: 0 auto;
206}
207div.tooltip {
208 position: absolute;
209 z-index: 30001;
210}
211div.tooltip div.tooltip_body {
212 border-radius: 8px;
213 -moz-border-radius: 8px;
214 -webkit-border-radius: 8px;
215 border-radius: 8px;
216 -moz-border-radius: 8px;
217 -webkit-border-radius: 8px;
218 border-radius: 8px;
219 -moz-border-radius: 8px;
220 -webkit-border-radius: 8px;
221 border-radius: 8px;
222 -moz-border-radius: 8px;
223 -webkit-border-radius: 8px;
224 border-radius: 8px;
225 -moz-border-radius: 8px;
226 -webkit-border-radius: 8px;
227 border-radius: 8px;
228 -moz-border-radius: 8px;
229 -webkit-border-radius: 8px;
230 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
231 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
232 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
233 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
234 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
235 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
236 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
237 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
238 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
239 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
240 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
241 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
242 -webkit-box-shadow: 4px 4px 10px #333333;
243 -moz-box-shadow: 4px 4px 10px #333333;
244 box-shadow: 4px 4px 10px #333333;
245 -webkit-box-shadow: 4px 4px 10px #333333;
246 -moz-box-shadow: 4px 4px 10px #333333;
247 box-shadow: 4px 4px 10px #333333;
248 -webkit-box-shadow: 4px 4px 10px #333333;
249 -moz-box-shadow: 4px 4px 10px #333333;
250 box-shadow: 4px 4px 10px #333333;
251 -webkit-box-shadow: 4px 4px 10px #333333;
252 -moz-box-shadow: 4px 4px 10px #333333;
253 box-shadow: 4px 4px 10px #333333;
254 -webkit-box-shadow: 4px 4px 10px #333333;
255 -moz-box-shadow: 4px 4px 10px #333333;
256 box-shadow: 4px 4px 10px #333333;
257 -webkit-box-shadow: 4px 4px 10px #333333;
258 -moz-box-shadow: 4px 4px 10px #333333;
259 box-shadow: 4px 4px 10px #333333;
260 border-top: 1px solid #d4d4d4;
261 border-left: 1px solid #a2a2a2;
262 border-right: 1px solid #6f6f6f;
263 border-bottom: 1px solid #3c3c3c;
264 border-radius: 8px;
265 -moz-border-radius: 8px;
266 -webkit-border-radius: 8px;
267 border-radius: 8px;
268 -moz-border-radius: 8px;
269 -webkit-border-radius: 8px;
270 border-radius: 8px;
271 -moz-border-radius: 8px;
272 -webkit-border-radius: 8px;
273 border-radius: 8px;
274 -moz-border-radius: 8px;
275 -webkit-border-radius: 8px;
276 border-radius: 8px;
277 -moz-border-radius: 8px;
278 -webkit-border-radius: 8px;
279 border-radius: 8px;
280 -moz-border-radius: 8px;
281 -webkit-border-radius: 8px;
282 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
283 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
284 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
285 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
286 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
287 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
288 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
289 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
290 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
291 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
292 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
293 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
294 -webkit-box-shadow: 4px 4px 10px #333333;
295 -moz-box-shadow: 4px 4px 10px #333333;
296 box-shadow: 4px 4px 10px #333333;
297 -webkit-box-shadow: 4px 4px 10px #333333;
298 -moz-box-shadow: 4px 4px 10px #333333;
299 box-shadow: 4px 4px 10px #333333;
300 -webkit-box-shadow: 4px 4px 10px #333333;
301 -moz-box-shadow: 4px 4px 10px #333333;
302 box-shadow: 4px 4px 10px #333333;
303 -webkit-box-shadow: 4px 4px 10px #333333;
304 -moz-box-shadow: 4px 4px 10px #333333;
305 box-shadow: 4px 4px 10px #333333;
306 -webkit-box-shadow: 4px 4px 10px #333333;
307 -moz-box-shadow: 4px 4px 10px #333333;
308 box-shadow: 4px 4px 10px #333333;
309 -webkit-box-shadow: 4px 4px 10px #333333;
310 -moz-box-shadow: 4px 4px 10px #333333;
311 box-shadow: 4px 4px 10px #333333;
312 border-top: 1px solid #d4d4d4;
313 border-left: 1px solid #a2a2a2;
314 border-right: 1px solid #6f6f6f;
315 border-bottom: 1px solid #3c3c3c;
316 border-radius: 8px;
317 -moz-border-radius: 8px;
318 -webkit-border-radius: 8px;
319 border-radius: 8px;
320 -moz-border-radius: 8px;
321 -webkit-border-radius: 8px;
322 border-radius: 8px;
323 -moz-border-radius: 8px;
324 -webkit-border-radius: 8px;
325 border-radius: 8px;
326 -moz-border-radius: 8px;
327 -webkit-border-radius: 8px;
328 border-radius: 8px;
329 -moz-border-radius: 8px;
330 -webkit-border-radius: 8px;
331 border-radius: 8px;
332 -moz-border-radius: 8px;
333 -webkit-border-radius: 8px;
334 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
335 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
336 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
337 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
338 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
339 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
340 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
341 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
342 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
343 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
344 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
345 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
346 -webkit-box-shadow: 4px 4px 10px #333333;
347 -moz-box-shadow: 4px 4px 10px #333333;
348 box-shadow: 4px 4px 10px #333333;
349 -webkit-box-shadow: 4px 4px 10px #333333;
350 -moz-box-shadow: 4px 4px 10px #333333;
351 box-shadow: 4px 4px 10px #333333;
352 -webkit-box-shadow: 4px 4px 10px #333333;
353 -moz-box-shadow: 4px 4px 10px #333333;
354 box-shadow: 4px 4px 10px #333333;
355 -webkit-box-shadow: 4px 4px 10px #333333;
356 -moz-box-shadow: 4px 4px 10px #333333;
357 box-shadow: 4px 4px 10px #333333;
358 -webkit-box-shadow: 4px 4px 10px #333333;
359 -moz-box-shadow: 4px 4px 10px #333333;
360 box-shadow: 4px 4px 10px #333333;
361 -webkit-box-shadow: 4px 4px 10px #333333;
362 -moz-box-shadow: 4px 4px 10px #333333;
363 box-shadow: 4px 4px 10px #333333;
364 border-top: 1px solid #d4d4d4;
365 border-left: 1px solid #a2a2a2;
366 border-right: 1px solid #6f6f6f;
367 border-bottom: 1px solid #3c3c3c;
368 border-radius: 8px;
369 -moz-border-radius: 8px;
370 -webkit-border-radius: 8px;
371 border-radius: 8px;
372 -moz-border-radius: 8px;
373 -webkit-border-radius: 8px;
374 border-radius: 8px;
375 -moz-border-radius: 8px;
376 -webkit-border-radius: 8px;
377 border-radius: 8px;
378 -moz-border-radius: 8px;
379 -webkit-border-radius: 8px;
380 border-radius: 8px;
381 -moz-border-radius: 8px;
382 -webkit-border-radius: 8px;
383 border-radius: 8px;
384 -moz-border-radius: 8px;
385 -webkit-border-radius: 8px;
386 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
387 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
388 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
389 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
390 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
391 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
392 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
393 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
394 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
395 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
396 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
397 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
398 -webkit-box-shadow: 4px 4px 10px #333333;
399 -moz-box-shadow: 4px 4px 10px #333333;
400 box-shadow: 4px 4px 10px #333333;
401 -webkit-box-shadow: 4px 4px 10px #333333;
402 -moz-box-shadow: 4px 4px 10px #333333;
403 box-shadow: 4px 4px 10px #333333;
404 -webkit-box-shadow: 4px 4px 10px #333333;
405 -moz-box-shadow: 4px 4px 10px #333333;
406 box-shadow: 4px 4px 10px #333333;
407 -webkit-box-shadow: 4px 4px 10px #333333;
408 -moz-box-shadow: 4px 4px 10px #333333;
409 box-shadow: 4px 4px 10px #333333;
410 -webkit-box-shadow: 4px 4px 10px #333333;
411 -moz-box-shadow: 4px 4px 10px #333333;
412 box-shadow: 4px 4px 10px #333333;
413 -webkit-box-shadow: 4px 4px 10px #333333;
414 -moz-box-shadow: 4px 4px 10px #333333;
415 box-shadow: 4px 4px 10px #333333;
416 border-top: 1px solid #d4d4d4;
417 border-left: 1px solid #a2a2a2;
418 border-right: 1px solid #6f6f6f;
419 border-bottom: 1px solid #3c3c3c;
420 border-radius: 8px;
421 -moz-border-radius: 8px;
422 -webkit-border-radius: 8px;
423 border-radius: 8px;
424 -moz-border-radius: 8px;
425 -webkit-border-radius: 8px;
426 border-radius: 8px;
427 -moz-border-radius: 8px;
428 -webkit-border-radius: 8px;
429 border-radius: 8px;
430 -moz-border-radius: 8px;
431 -webkit-border-radius: 8px;
432 border-radius: 8px;
433 -moz-border-radius: 8px;
434 -webkit-border-radius: 8px;
435 border-radius: 8px;
436 -moz-border-radius: 8px;
437 -webkit-border-radius: 8px;
438 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
439 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
440 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
441 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
442 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
443 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
444 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
445 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
446 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
447 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
448 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
449 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
450 -webkit-box-shadow: 4px 4px 10px #333333;
451 -moz-box-shadow: 4px 4px 10px #333333;
452 box-shadow: 4px 4px 10px #333333;
453 -webkit-box-shadow: 4px 4px 10px #333333;
454 -moz-box-shadow: 4px 4px 10px #333333;
455 box-shadow: 4px 4px 10px #333333;
456 -webkit-box-shadow: 4px 4px 10px #333333;
457 -moz-box-shadow: 4px 4px 10px #333333;
458 box-shadow: 4px 4px 10px #333333;
459 -webkit-box-shadow: 4px 4px 10px #333333;
460 -moz-box-shadow: 4px 4px 10px #333333;
461 box-shadow: 4px 4px 10px #333333;
462 -webkit-box-shadow: 4px 4px 10px #333333;
463 -moz-box-shadow: 4px 4px 10px #333333;
464 box-shadow: 4px 4px 10px #333333;
465 -webkit-box-shadow: 4px 4px 10px #333333;
466 -moz-box-shadow: 4px 4px 10px #333333;
467 box-shadow: 4px 4px 10px #333333;
468 border-top: 1px solid #d4d4d4;
469 border-left: 1px solid #a2a2a2;
470 border-right: 1px solid #6f6f6f;
471 border-bottom: 1px solid #3c3c3c;
472 border-radius: 8px;
473 -moz-border-radius: 8px;
474 -webkit-border-radius: 8px;
475 border-radius: 8px;
476 -moz-border-radius: 8px;
477 -webkit-border-radius: 8px;
478 border-radius: 8px;
479 -moz-border-radius: 8px;
480 -webkit-border-radius: 8px;
481 border-radius: 8px;
482 -moz-border-radius: 8px;
483 -webkit-border-radius: 8px;
484 border-radius: 8px;
485 -moz-border-radius: 8px;
486 -webkit-border-radius: 8px;
487 border-radius: 8px;
488 -moz-border-radius: 8px;
489 -webkit-border-radius: 8px;
490 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
491 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
492 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
493 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
494 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
495 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
496 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
497 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
498 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
499 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
500 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#bbbbbb), to(#555555));
501 background: -moz-linear-gradient(0% 100% 90deg, #555555, #bbbbbb);
502 -webkit-box-shadow: 4px 4px 10px #333333;
503 -moz-box-shadow: 4px 4px 10px #333333;
504 box-shadow: 4px 4px 10px #333333;
505 -webkit-box-shadow: 4px 4px 10px #333333;
506 -moz-box-shadow: 4px 4px 10px #333333;
507 box-shadow: 4px 4px 10px #333333;
508 -webkit-box-shadow: 4px 4px 10px #333333;
509 -moz-box-shadow: 4px 4px 10px #333333;
510 box-shadow: 4px 4px 10px #333333;
511 -webkit-box-shadow: 4px 4px 10px #333333;
512 -moz-box-shadow: 4px 4px 10px #333333;
513 box-shadow: 4px 4px 10px #333333;
514 -webkit-box-shadow: 4px 4px 10px #333333;
515 -moz-box-shadow: 4px 4px 10px #333333;
516 box-shadow: 4px 4px 10px #333333;
517 -webkit-box-shadow: 4px 4px 10px #333333;
518 -moz-box-shadow: 4px 4px 10px #333333;
519 box-shadow: 4px 4px 10px #333333;
520 border-top: 1px solid #d4d4d4;
521 border-left: 1px solid #a2a2a2;
522 border-right: 1px solid #6f6f6f;
523 border-bottom: 1px solid #3c3c3c;
524}
525div.tooltip div.tooltip_body span {
526 display: block;
527 padding: 10px;
528 font-size: 10pt;
529 color: white;
530}
531div.tooltip div.tooltip_body div.tooltip_text {
532 width: 200px;
533}
534div.tooltip div.tooltip_arrow {
535 position: absolute;
536 width: 0;
537 height: 0;
538 border: 6px solid transparent;
539}
540div.tooltip.BELOW div.tooltip_arrow {
541 top: -12px;
542 left: 97px;
543 border-bottom: 6px solid #bbbbbb;
544}
545div.tooltip.ABOVE div.tooltip_arrow {
546 position: static;
547 margin-left: 97px;
548 border-top: 6px solid #555555;
549}
550div.tooltip.LEFT div.tooltip_arrow {
551 left: 203px;
552 top: 10px;
553 border-left: 6px solid #747474;
554}
555div.tooltip.LEFT div.tooltip_body div.tooltip_text {
556 min-height: 45px;
557}
558div.tooltip.RIGHT div.tooltip_arrow {
559 left: -12px;
560 top: 10px;
561 border-right: 6px solid #9c9c9c;
562}
563div.tooltip.RIGHT div.tooltip_body div.tooltip_text {
564 min-height: 45px;
565}
566/*
567
568Color list:
569- login box:
570 light#ff9955
571 dark#ff6622
572- login button:
573 regular#dd5500
574 hover#773311
575- login translations:
576 box: #cc6622;
577 not-selected:
578 color: #ddaa99
579 background:#994422
580 selected: #772211;
581*/
582html {
583 height: 100%;
584}
585body {
586 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
587 margin: 0px;
588}
589div.modalDialogMask.userInfoBoxMask {
590 -moz-opacity: 0.0;
591 opacity: .0;
592 filter: alpha(opacity=0);
593 z-index: 19000;
594}
170.reset-margin { 595.reset-margin {
171 margin: 0px; 596 margin: 0px;
172 padding: 0px; 597 padding: 0px;
173 border: 0px; 598 border: 0px;
174} 599}
175.clear { 600.clear {
@@ -221,12 +646,18 @@ div.pageHeader div#miscLinks ul li a {
221 margin: 0px; 646 margin: 0px;
222 padding: 0px; 647 padding: 0px;
223 border: 0px; 648 border: 0px;
224 margin: 0px; 649 margin: 0px;
225 padding: 0px; 650 padding: 0px;
226 border: 0px; 651 border: 0px;
652 margin: 0px;
653 padding: 0px;
654 border: 0px;
655 margin: 0px;
656 padding: 0px;
657 border: 0px;
227 padding: 15px; 658 padding: 15px;
228 border-left: 1px solid #3e428f; 659 border-left: 1px solid #3e428f;
229 font-weight: normal; 660 font-weight: normal;
230 text-decoration: none; 661 text-decoration: none;
231 font-size: 12pt; 662 font-size: 12pt;
232 min-width: 70px; 663 min-width: 70px;
@@ -255,12 +686,18 @@ div.pageHeader div#logoFrame a canvas {
255 margin: 0px; 686 margin: 0px;
256 padding: 0px; 687 padding: 0px;
257 border: 0px; 688 border: 0px;
258 margin: 0px; 689 margin: 0px;
259 padding: 0px; 690 padding: 0px;
260 border: 0px; 691 border: 0px;
692 margin: 0px;
693 padding: 0px;
694 border: 0px;
695 margin: 0px;
696 padding: 0px;
697 border: 0px;
261 width: 150px; 698 width: 150px;
262 height: 39px; 699 height: 39px;
263} 700}
264div.pageHeader div#logoFrame a h5.clipperzPayoff { 701div.pageHeader div#logoFrame a h5.clipperzPayoff {
265 font-size: 13pt; 702 font-size: 13pt;
266 font-weight: normal; 703 font-weight: normal;
@@ -298,12 +735,22 @@ div.pageHeader div#featureTabs canvas.featureIcon {
298 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622)); 735 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622));
299 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79); 736 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79);
300 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622)); 737 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622));
301 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79); 738 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79);
302 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622)); 739 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622));
303 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79); 740 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79);
741 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622));
742 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79);
743 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffad79), to(#ff6622));
744 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ffad79);
745 border-radius: 38px;
746 -moz-border-radius: 38px;
747 -webkit-border-radius: 38px;
748 border-radius: 38px;
749 -moz-border-radius: 38px;
750 -webkit-border-radius: 38px;
304 border-radius: 38px; 751 border-radius: 38px;
305 -moz-border-radius: 38px; 752 -moz-border-radius: 38px;
306 -webkit-border-radius: 38px; 753 -webkit-border-radius: 38px;
307 border-radius: 38px; 754 border-radius: 38px;
308 -moz-border-radius: 38px; 755 -moz-border-radius: 38px;
309 -webkit-border-radius: 38px; 756 -webkit-border-radius: 38px;
@@ -330,12 +777,24 @@ div.pageHeader div#news {
330 -webkit-border-bottom-left-radius: 8px; 777 -webkit-border-bottom-left-radius: 8px;
331 -moz-border-radius-bottomleft: 8px; 778 -moz-border-radius-bottomleft: 8px;
332 border-bottom-left-radius: 8px; 779 border-bottom-left-radius: 8px;
333 -webkit-border-bottom-left-radius: 8px; 780 -webkit-border-bottom-left-radius: 8px;
334 -moz-border-radius-bottomleft: 8px; 781 -moz-border-radius-bottomleft: 8px;
335 border-bottom-left-radius: 8px; 782 border-bottom-left-radius: 8px;
783 -webkit-border-bottom-left-radius: 8px;
784 -moz-border-radius-bottomleft: 8px;
785 border-bottom-left-radius: 8px;
786 -webkit-border-bottom-left-radius: 8px;
787 -moz-border-radius-bottomleft: 8px;
788 border-bottom-left-radius: 8px;
789 -webkit-border-bottom-right-radius: 8px;
790 -moz-border-radius-bottomright: 8px;
791 border-bottom-right-radius: 8px;
792 -webkit-border-bottom-right-radius: 8px;
793 -moz-border-radius-bottomright: 8px;
794 border-bottom-right-radius: 8px;
336 -webkit-border-bottom-right-radius: 8px; 795 -webkit-border-bottom-right-radius: 8px;
337 -moz-border-radius-bottomright: 8px; 796 -moz-border-radius-bottomright: 8px;
338 border-bottom-right-radius: 8px; 797 border-bottom-right-radius: 8px;
339 -webkit-border-bottom-right-radius: 8px; 798 -webkit-border-bottom-right-radius: 8px;
340 -moz-border-radius-bottomright: 8px; 799 -moz-border-radius-bottomright: 8px;
341 border-bottom-right-radius: 8px; 800 border-bottom-right-radius: 8px;
@@ -354,12 +813,24 @@ div.pageHeader div#news {
354 -webkit-border-bottom-left-radius: 8px; 813 -webkit-border-bottom-left-radius: 8px;
355 -moz-border-radius-bottomleft: 8px; 814 -moz-border-radius-bottomleft: 8px;
356 border-bottom-left-radius: 8px; 815 border-bottom-left-radius: 8px;
357 -webkit-border-bottom-left-radius: 8px; 816 -webkit-border-bottom-left-radius: 8px;
358 -moz-border-radius-bottomleft: 8px; 817 -moz-border-radius-bottomleft: 8px;
359 border-bottom-left-radius: 8px; 818 border-bottom-left-radius: 8px;
819 -webkit-border-bottom-left-radius: 8px;
820 -moz-border-radius-bottomleft: 8px;
821 border-bottom-left-radius: 8px;
822 -webkit-border-bottom-left-radius: 8px;
823 -moz-border-radius-bottomleft: 8px;
824 border-bottom-left-radius: 8px;
825 -webkit-border-bottom-right-radius: 8px;
826 -moz-border-radius-bottomright: 8px;
827 border-bottom-right-radius: 8px;
828 -webkit-border-bottom-right-radius: 8px;
829 -moz-border-radius-bottomright: 8px;
830 border-bottom-right-radius: 8px;
360 -webkit-border-bottom-right-radius: 8px; 831 -webkit-border-bottom-right-radius: 8px;
361 -moz-border-radius-bottomright: 8px; 832 -moz-border-radius-bottomright: 8px;
362 border-bottom-right-radius: 8px; 833 border-bottom-right-radius: 8px;
363 -webkit-border-bottom-right-radius: 8px; 834 -webkit-border-bottom-right-radius: 8px;
364 -moz-border-radius-bottomright: 8px; 835 -moz-border-radius-bottomright: 8px;
365 border-bottom-right-radius: 8px; 836 border-bottom-right-radius: 8px;
@@ -378,12 +849,24 @@ div.pageHeader div#news {
378 -webkit-border-bottom-left-radius: 8px; 849 -webkit-border-bottom-left-radius: 8px;
379 -moz-border-radius-bottomleft: 8px; 850 -moz-border-radius-bottomleft: 8px;
380 border-bottom-left-radius: 8px; 851 border-bottom-left-radius: 8px;
381 -webkit-border-bottom-left-radius: 8px; 852 -webkit-border-bottom-left-radius: 8px;
382 -moz-border-radius-bottomleft: 8px; 853 -moz-border-radius-bottomleft: 8px;
383 border-bottom-left-radius: 8px; 854 border-bottom-left-radius: 8px;
855 -webkit-border-bottom-left-radius: 8px;
856 -moz-border-radius-bottomleft: 8px;
857 border-bottom-left-radius: 8px;
858 -webkit-border-bottom-left-radius: 8px;
859 -moz-border-radius-bottomleft: 8px;
860 border-bottom-left-radius: 8px;
861 -webkit-border-bottom-right-radius: 8px;
862 -moz-border-radius-bottomright: 8px;
863 border-bottom-right-radius: 8px;
864 -webkit-border-bottom-right-radius: 8px;
865 -moz-border-radius-bottomright: 8px;
866 border-bottom-right-radius: 8px;
384 -webkit-border-bottom-right-radius: 8px; 867 -webkit-border-bottom-right-radius: 8px;
385 -moz-border-radius-bottomright: 8px; 868 -moz-border-radius-bottomright: 8px;
386 border-bottom-right-radius: 8px; 869 border-bottom-right-radius: 8px;
387 -webkit-border-bottom-right-radius: 8px; 870 -webkit-border-bottom-right-radius: 8px;
388 -moz-border-radius-bottomright: 8px; 871 -moz-border-radius-bottomright: 8px;
389 border-bottom-right-radius: 8px; 872 border-bottom-right-radius: 8px;
@@ -402,36 +885,126 @@ div.pageHeader div#news {
402 -webkit-border-bottom-left-radius: 8px; 885 -webkit-border-bottom-left-radius: 8px;
403 -moz-border-radius-bottomleft: 8px; 886 -moz-border-radius-bottomleft: 8px;
404 border-bottom-left-radius: 8px; 887 border-bottom-left-radius: 8px;
405 -webkit-border-bottom-left-radius: 8px; 888 -webkit-border-bottom-left-radius: 8px;
406 -moz-border-radius-bottomleft: 8px; 889 -moz-border-radius-bottomleft: 8px;
407 border-bottom-left-radius: 8px; 890 border-bottom-left-radius: 8px;
891 -webkit-border-bottom-left-radius: 8px;
892 -moz-border-radius-bottomleft: 8px;
893 border-bottom-left-radius: 8px;
894 -webkit-border-bottom-left-radius: 8px;
895 -moz-border-radius-bottomleft: 8px;
896 border-bottom-left-radius: 8px;
897 -webkit-border-bottom-right-radius: 8px;
898 -moz-border-radius-bottomright: 8px;
899 border-bottom-right-radius: 8px;
900 -webkit-border-bottom-right-radius: 8px;
901 -moz-border-radius-bottomright: 8px;
902 border-bottom-right-radius: 8px;
903 -webkit-border-bottom-right-radius: 8px;
904 -moz-border-radius-bottomright: 8px;
905 border-bottom-right-radius: 8px;
906 -webkit-border-bottom-right-radius: 8px;
907 -moz-border-radius-bottomright: 8px;
908 border-bottom-right-radius: 8px;
408 -webkit-border-bottom-right-radius: 8px; 909 -webkit-border-bottom-right-radius: 8px;
409 -moz-border-radius-bottomright: 8px; 910 -moz-border-radius-bottomright: 8px;
410 border-bottom-right-radius: 8px; 911 border-bottom-right-radius: 8px;
411 -webkit-border-bottom-right-radius: 8px; 912 -webkit-border-bottom-right-radius: 8px;
412 -moz-border-radius-bottomright: 8px; 913 -moz-border-radius-bottomright: 8px;
413 border-bottom-right-radius: 8px; 914 border-bottom-right-radius: 8px;
915 -webkit-border-bottom-left-radius: 8px;
916 -moz-border-radius-bottomleft: 8px;
917 border-bottom-left-radius: 8px;
918 -webkit-border-bottom-left-radius: 8px;
919 -moz-border-radius-bottomleft: 8px;
920 border-bottom-left-radius: 8px;
921 -webkit-border-bottom-left-radius: 8px;
922 -moz-border-radius-bottomleft: 8px;
923 border-bottom-left-radius: 8px;
924 -webkit-border-bottom-left-radius: 8px;
925 -moz-border-radius-bottomleft: 8px;
926 border-bottom-left-radius: 8px;
927 -webkit-border-bottom-left-radius: 8px;
928 -moz-border-radius-bottomleft: 8px;
929 border-bottom-left-radius: 8px;
930 -webkit-border-bottom-left-radius: 8px;
931 -moz-border-radius-bottomleft: 8px;
932 border-bottom-left-radius: 8px;
933 -webkit-border-bottom-right-radius: 8px;
934 -moz-border-radius-bottomright: 8px;
935 border-bottom-right-radius: 8px;
414 -webkit-border-bottom-right-radius: 8px; 936 -webkit-border-bottom-right-radius: 8px;
415 -moz-border-radius-bottomright: 8px; 937 -moz-border-radius-bottomright: 8px;
416 border-bottom-right-radius: 8px; 938 border-bottom-right-radius: 8px;
417 -webkit-border-bottom-right-radius: 8px; 939 -webkit-border-bottom-right-radius: 8px;
418 -moz-border-radius-bottomright: 8px; 940 -moz-border-radius-bottomright: 8px;
419 border-bottom-right-radius: 8px; 941 border-bottom-right-radius: 8px;
420 -webkit-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 942 -webkit-border-bottom-right-radius: 8px;
421 -moz-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 943 -moz-border-radius-bottomright: 8px;
422 box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 944 border-bottom-right-radius: 8px;
423 -webkit-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 945 -webkit-border-bottom-right-radius: 8px;
424 -moz-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 946 -moz-border-radius-bottomright: 8px;
425 box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 947 border-bottom-right-radius: 8px;
426 -webkit-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 948 -webkit-border-bottom-right-radius: 8px;
427 -moz-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 949 -moz-border-radius-bottomright: 8px;
428 box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 950 border-bottom-right-radius: 8px;
429 -webkit-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 951 -webkit-border-bottom-left-radius: 8px;
430 -moz-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 952 -moz-border-radius-bottomleft: 8px;
431 box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6); 953 border-bottom-left-radius: 8px;
954 -webkit-border-bottom-left-radius: 8px;
955 -moz-border-radius-bottomleft: 8px;
956 border-bottom-left-radius: 8px;
957 -webkit-border-bottom-left-radius: 8px;
958 -moz-border-radius-bottomleft: 8px;
959 border-bottom-left-radius: 8px;
960 -webkit-border-bottom-left-radius: 8px;
961 -moz-border-radius-bottomleft: 8px;
962 border-bottom-left-radius: 8px;
963 -webkit-border-bottom-left-radius: 8px;
964 -moz-border-radius-bottomleft: 8px;
965 border-bottom-left-radius: 8px;
966 -webkit-border-bottom-left-radius: 8px;
967 -moz-border-radius-bottomleft: 8px;
968 border-bottom-left-radius: 8px;
969 -webkit-border-bottom-right-radius: 8px;
970 -moz-border-radius-bottomright: 8px;
971 border-bottom-right-radius: 8px;
972 -webkit-border-bottom-right-radius: 8px;
973 -moz-border-radius-bottomright: 8px;
974 border-bottom-right-radius: 8px;
975 -webkit-border-bottom-right-radius: 8px;
976 -moz-border-radius-bottomright: 8px;
977 border-bottom-right-radius: 8px;
978 -webkit-border-bottom-right-radius: 8px;
979 -moz-border-radius-bottomright: 8px;
980 border-bottom-right-radius: 8px;
981 -webkit-border-bottom-right-radius: 8px;
982 -moz-border-radius-bottomright: 8px;
983 border-bottom-right-radius: 8px;
984 -webkit-border-bottom-right-radius: 8px;
985 -moz-border-radius-bottomright: 8px;
986 border-bottom-right-radius: 8px;
987 -webkit-box-shadow: 2px 2px 9px #333333;
988 -moz-box-shadow: 2px 2px 9px #333333;
989 box-shadow: 2px 2px 9px #333333;
990 -webkit-box-shadow: 2px 2px 9px #333333;
991 -moz-box-shadow: 2px 2px 9px #333333;
992 box-shadow: 2px 2px 9px #333333;
993 -webkit-box-shadow: 2px 2px 9px #333333;
994 -moz-box-shadow: 2px 2px 9px #333333;
995 box-shadow: 2px 2px 9px #333333;
996 -webkit-box-shadow: 2px 2px 9px #333333;
997 -moz-box-shadow: 2px 2px 9px #333333;
998 box-shadow: 2px 2px 9px #333333;
999 -webkit-box-shadow: 2px 2px 9px #333333;
1000 -moz-box-shadow: 2px 2px 9px #333333;
1001 box-shadow: 2px 2px 9px #333333;
1002 -webkit-box-shadow: 2px 2px 9px #333333;
1003 -moz-box-shadow: 2px 2px 9px #333333;
1004 box-shadow: 2px 2px 9px #333333;
432} 1005}
433div.pageHeader div#news div#newsframe { 1006div.pageHeader div#news div#newsframe {
434 margin-left: 10px; 1007 margin-left: 10px;
435 margin-right: 10px; 1008 margin-right: 10px;
436 height: 75px; 1009 height: 75px;
437 overflow: hidden; 1010 overflow: hidden;
@@ -521,12 +1094,18 @@ html {
521 height: 100%; 1094 height: 100%;
522} 1095}
523body { 1096body {
524 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif; 1097 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
525 margin: 0px; 1098 margin: 0px;
526} 1099}
1100div.modalDialogMask.userInfoBoxMask {
1101 -moz-opacity: 0.0;
1102 opacity: .0;
1103 filter: alpha(opacity=0);
1104 z-index: 19000;
1105}
527.reset-margin { 1106.reset-margin {
528 margin: 0px; 1107 margin: 0px;
529 padding: 0px; 1108 padding: 0px;
530 border: 0px; 1109 border: 0px;
531} 1110}
532.clear { 1111.clear {
@@ -564,48 +1143,150 @@ div#loginBox div.header {
564 -webkit-border-top-left-radius: 20px; 1143 -webkit-border-top-left-radius: 20px;
565 -moz-border-radius-topleft: 20px; 1144 -moz-border-radius-topleft: 20px;
566 border-top-left-radius: 20px; 1145 border-top-left-radius: 20px;
567 -webkit-border-top-left-radius: 20px; 1146 -webkit-border-top-left-radius: 20px;
568 -moz-border-radius-topleft: 20px; 1147 -moz-border-radius-topleft: 20px;
569 border-top-left-radius: 20px; 1148 border-top-left-radius: 20px;
1149 -webkit-border-top-left-radius: 20px;
1150 -moz-border-radius-topleft: 20px;
1151 border-top-left-radius: 20px;
1152 -webkit-border-top-left-radius: 20px;
1153 -moz-border-radius-topleft: 20px;
1154 border-top-left-radius: 20px;
1155 -webkit-border-top-right-radius: 20px;
1156 -moz-border-radius-topright: 20px;
1157 border-top-right-radius: 20px;
1158 -webkit-border-top-right-radius: 20px;
1159 -moz-border-radius-topright: 20px;
1160 border-top-right-radius: 20px;
1161 -webkit-border-top-right-radius: 20px;
1162 -moz-border-radius-topright: 20px;
1163 border-top-right-radius: 20px;
1164 -webkit-border-top-right-radius: 20px;
1165 -moz-border-radius-topright: 20px;
1166 border-top-right-radius: 20px;
1167 -webkit-border-top-right-radius: 20px;
1168 -moz-border-radius-topright: 20px;
1169 border-top-right-radius: 20px;
1170 -webkit-border-top-right-radius: 20px;
1171 -moz-border-radius-topright: 20px;
1172 border-top-right-radius: 20px;
1173 -webkit-border-top-left-radius: 20px;
1174 -moz-border-radius-topleft: 20px;
1175 border-top-left-radius: 20px;
1176 -webkit-border-top-left-radius: 20px;
1177 -moz-border-radius-topleft: 20px;
1178 border-top-left-radius: 20px;
1179 -webkit-border-top-left-radius: 20px;
1180 -moz-border-radius-topleft: 20px;
1181 border-top-left-radius: 20px;
1182 -webkit-border-top-left-radius: 20px;
1183 -moz-border-radius-topleft: 20px;
1184 border-top-left-radius: 20px;
1185 -webkit-border-top-left-radius: 20px;
1186 -moz-border-radius-topleft: 20px;
1187 border-top-left-radius: 20px;
1188 -webkit-border-top-left-radius: 20px;
1189 -moz-border-radius-topleft: 20px;
1190 border-top-left-radius: 20px;
1191 -webkit-border-top-right-radius: 20px;
1192 -moz-border-radius-topright: 20px;
1193 border-top-right-radius: 20px;
1194 -webkit-border-top-right-radius: 20px;
1195 -moz-border-radius-topright: 20px;
1196 border-top-right-radius: 20px;
1197 -webkit-border-top-right-radius: 20px;
1198 -moz-border-radius-topright: 20px;
1199 border-top-right-radius: 20px;
1200 -webkit-border-top-right-radius: 20px;
1201 -moz-border-radius-topright: 20px;
1202 border-top-right-radius: 20px;
1203 -webkit-border-top-right-radius: 20px;
1204 -moz-border-radius-topright: 20px;
1205 border-top-right-radius: 20px;
1206 -webkit-border-top-right-radius: 20px;
1207 -moz-border-radius-topright: 20px;
1208 border-top-right-radius: 20px;
1209 -webkit-border-top-left-radius: 20px;
1210 -moz-border-radius-topleft: 20px;
1211 border-top-left-radius: 20px;
1212 -webkit-border-top-left-radius: 20px;
1213 -moz-border-radius-topleft: 20px;
1214 border-top-left-radius: 20px;
1215 -webkit-border-top-left-radius: 20px;
1216 -moz-border-radius-topleft: 20px;
1217 border-top-left-radius: 20px;
1218 -webkit-border-top-left-radius: 20px;
1219 -moz-border-radius-topleft: 20px;
1220 border-top-left-radius: 20px;
1221 -webkit-border-top-left-radius: 20px;
1222 -moz-border-radius-topleft: 20px;
1223 border-top-left-radius: 20px;
1224 -webkit-border-top-left-radius: 20px;
1225 -moz-border-radius-topleft: 20px;
1226 border-top-left-radius: 20px;
570 -webkit-border-top-right-radius: 20px; 1227 -webkit-border-top-right-radius: 20px;
571 -moz-border-radius-topright: 20px; 1228 -moz-border-radius-topright: 20px;
572 border-top-right-radius: 20px; 1229 border-top-right-radius: 20px;
573 -webkit-border-top-right-radius: 20px; 1230 -webkit-border-top-right-radius: 20px;
574 -moz-border-radius-topright: 20px; 1231 -moz-border-radius-topright: 20px;
575 border-top-right-radius: 20px; 1232 border-top-right-radius: 20px;
576 -webkit-border-top-right-radius: 20px; 1233 -webkit-border-top-right-radius: 20px;
577 -moz-border-radius-topright: 20px; 1234 -moz-border-radius-topright: 20px;
578 border-top-right-radius: 20px; 1235 border-top-right-radius: 20px;
579 -webkit-border-top-right-radius: 20px; 1236 -webkit-border-top-right-radius: 20px;
580 -moz-border-radius-topright: 20px; 1237 -moz-border-radius-topright: 20px;
581 border-top-right-radius: 20px; 1238 border-top-right-radius: 20px;
1239 -webkit-border-top-right-radius: 20px;
1240 -moz-border-radius-topright: 20px;
1241 border-top-right-radius: 20px;
1242 -webkit-border-top-right-radius: 20px;
1243 -moz-border-radius-topright: 20px;
1244 border-top-right-radius: 20px;
1245 -webkit-border-top-left-radius: 20px;
1246 -moz-border-radius-topleft: 20px;
1247 border-top-left-radius: 20px;
582 -webkit-border-top-left-radius: 20px; 1248 -webkit-border-top-left-radius: 20px;
583 -moz-border-radius-topleft: 20px; 1249 -moz-border-radius-topleft: 20px;
584 border-top-left-radius: 20px; 1250 border-top-left-radius: 20px;
585 -webkit-border-top-left-radius: 20px; 1251 -webkit-border-top-left-radius: 20px;
586 -moz-border-radius-topleft: 20px; 1252 -moz-border-radius-topleft: 20px;
587 border-top-left-radius: 20px; 1253 border-top-left-radius: 20px;
588 -webkit-border-top-left-radius: 20px; 1254 -webkit-border-top-left-radius: 20px;
589 -moz-border-radius-topleft: 20px; 1255 -moz-border-radius-topleft: 20px;
590 border-top-left-radius: 20px; 1256 border-top-left-radius: 20px;
591 -webkit-border-top-left-radius: 20px; 1257 -webkit-border-top-left-radius: 20px;
592 -moz-border-radius-topleft: 20px; 1258 -moz-border-radius-topleft: 20px;
593 border-top-left-radius: 20px; 1259 border-top-left-radius: 20px;
1260 -webkit-border-top-left-radius: 20px;
1261 -moz-border-radius-topleft: 20px;
1262 border-top-left-radius: 20px;
1263 -webkit-border-top-right-radius: 20px;
1264 -moz-border-radius-topright: 20px;
1265 border-top-right-radius: 20px;
594 -webkit-border-top-right-radius: 20px; 1266 -webkit-border-top-right-radius: 20px;
595 -moz-border-radius-topright: 20px; 1267 -moz-border-radius-topright: 20px;
596 border-top-right-radius: 20px; 1268 border-top-right-radius: 20px;
597 -webkit-border-top-right-radius: 20px; 1269 -webkit-border-top-right-radius: 20px;
598 -moz-border-radius-topright: 20px; 1270 -moz-border-radius-topright: 20px;
599 border-top-right-radius: 20px; 1271 border-top-right-radius: 20px;
600 -webkit-border-top-right-radius: 20px; 1272 -webkit-border-top-right-radius: 20px;
601 -moz-border-radius-topright: 20px; 1273 -moz-border-radius-topright: 20px;
602 border-top-right-radius: 20px; 1274 border-top-right-radius: 20px;
603 -webkit-border-top-right-radius: 20px; 1275 -webkit-border-top-right-radius: 20px;
604 -moz-border-radius-topright: 20px; 1276 -moz-border-radius-topright: 20px;
605 border-top-right-radius: 20px; 1277 border-top-right-radius: 20px;
1278 -webkit-border-top-right-radius: 20px;
1279 -moz-border-radius-topright: 20px;
1280 border-top-right-radius: 20px;
1281 -webkit-border-top-left-radius: 20px;
1282 -moz-border-radius-topleft: 20px;
1283 border-top-left-radius: 20px;
1284 -webkit-border-top-left-radius: 20px;
1285 -moz-border-radius-topleft: 20px;
1286 border-top-left-radius: 20px;
606 -webkit-border-top-left-radius: 20px; 1287 -webkit-border-top-left-radius: 20px;
607 -moz-border-radius-topleft: 20px; 1288 -moz-border-radius-topleft: 20px;
608 border-top-left-radius: 20px; 1289 border-top-left-radius: 20px;
609 -webkit-border-top-left-radius: 20px; 1290 -webkit-border-top-left-radius: 20px;
610 -moz-border-radius-topleft: 20px; 1291 -moz-border-radius-topleft: 20px;
611 border-top-left-radius: 20px; 1292 border-top-left-radius: 20px;
@@ -624,24 +1305,42 @@ div#loginBox div.header {
624 -webkit-border-top-right-radius: 20px; 1305 -webkit-border-top-right-radius: 20px;
625 -moz-border-radius-topright: 20px; 1306 -moz-border-radius-topright: 20px;
626 border-top-right-radius: 20px; 1307 border-top-right-radius: 20px;
627 -webkit-border-top-right-radius: 20px; 1308 -webkit-border-top-right-radius: 20px;
628 -moz-border-radius-topright: 20px; 1309 -moz-border-radius-topright: 20px;
629 border-top-right-radius: 20px; 1310 border-top-right-radius: 20px;
1311 -webkit-border-top-right-radius: 20px;
1312 -moz-border-radius-topright: 20px;
1313 border-top-right-radius: 20px;
1314 -webkit-border-top-right-radius: 20px;
1315 -moz-border-radius-topright: 20px;
1316 border-top-right-radius: 20px;
630 -webkit-border-top-left-radius: 20px; 1317 -webkit-border-top-left-radius: 20px;
631 -moz-border-radius-topleft: 20px; 1318 -moz-border-radius-topleft: 20px;
632 border-top-left-radius: 20px; 1319 border-top-left-radius: 20px;
633 -webkit-border-top-left-radius: 20px; 1320 -webkit-border-top-left-radius: 20px;
634 -moz-border-radius-topleft: 20px; 1321 -moz-border-radius-topleft: 20px;
635 border-top-left-radius: 20px; 1322 border-top-left-radius: 20px;
636 -webkit-border-top-left-radius: 20px; 1323 -webkit-border-top-left-radius: 20px;
637 -moz-border-radius-topleft: 20px; 1324 -moz-border-radius-topleft: 20px;
638 border-top-left-radius: 20px; 1325 border-top-left-radius: 20px;
639 -webkit-border-top-left-radius: 20px; 1326 -webkit-border-top-left-radius: 20px;
640 -moz-border-radius-topleft: 20px; 1327 -moz-border-radius-topleft: 20px;
641 border-top-left-radius: 20px; 1328 border-top-left-radius: 20px;
1329 -webkit-border-top-left-radius: 20px;
1330 -moz-border-radius-topleft: 20px;
1331 border-top-left-radius: 20px;
1332 -webkit-border-top-left-radius: 20px;
1333 -moz-border-radius-topleft: 20px;
1334 border-top-left-radius: 20px;
1335 -webkit-border-top-right-radius: 20px;
1336 -moz-border-radius-topright: 20px;
1337 border-top-right-radius: 20px;
1338 -webkit-border-top-right-radius: 20px;
1339 -moz-border-radius-topright: 20px;
1340 border-top-right-radius: 20px;
642 -webkit-border-top-right-radius: 20px; 1341 -webkit-border-top-right-radius: 20px;
643 -moz-border-radius-topright: 20px; 1342 -moz-border-radius-topright: 20px;
644 border-top-right-radius: 20px; 1343 border-top-right-radius: 20px;
645 -webkit-border-top-right-radius: 20px; 1344 -webkit-border-top-right-radius: 20px;
646 -moz-border-radius-topright: 20px; 1345 -moz-border-radius-topright: 20px;
647 border-top-right-radius: 20px; 1346 border-top-right-radius: 20px;
@@ -658,12 +1357,16 @@ div#loginBox div.body {
658 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622)); 1357 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622));
659 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a); 1358 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a);
660 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622)); 1359 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622));
661 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a); 1360 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a);
662 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622)); 1361 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622));
663 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a); 1362 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a);
1363 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622));
1364 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a);
1365 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9b5a), to(#ff6622));
1366 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9b5a);
664} 1367}
665div#loginBox div.body h4 { 1368div#loginBox div.body h4 {
666 color: #ffffff; 1369 color: #ffffff;
667 font-size: 16pt; 1370 font-size: 16pt;
668 font-weight: normal; 1371 font-weight: normal;
669 padding-left: 20px; 1372 padding-left: 20px;
@@ -776,12 +1479,24 @@ div#loginBox div.footer {
776 -webkit-border-bottom-left-radius: 20px; 1479 -webkit-border-bottom-left-radius: 20px;
777 -moz-border-radius-bottomleft: 20px; 1480 -moz-border-radius-bottomleft: 20px;
778 border-bottom-left-radius: 20px; 1481 border-bottom-left-radius: 20px;
779 -webkit-border-bottom-left-radius: 20px; 1482 -webkit-border-bottom-left-radius: 20px;
780 -moz-border-radius-bottomleft: 20px; 1483 -moz-border-radius-bottomleft: 20px;
781 border-bottom-left-radius: 20px; 1484 border-bottom-left-radius: 20px;
1485 -webkit-border-bottom-left-radius: 20px;
1486 -moz-border-radius-bottomleft: 20px;
1487 border-bottom-left-radius: 20px;
1488 -webkit-border-bottom-left-radius: 20px;
1489 -moz-border-radius-bottomleft: 20px;
1490 border-bottom-left-radius: 20px;
1491 -webkit-border-bottom-right-radius: 20px;
1492 -moz-border-radius-bottomright: 20px;
1493 border-bottom-right-radius: 20px;
1494 -webkit-border-bottom-right-radius: 20px;
1495 -moz-border-radius-bottomright: 20px;
1496 border-bottom-right-radius: 20px;
782 -webkit-border-bottom-right-radius: 20px; 1497 -webkit-border-bottom-right-radius: 20px;
783 -moz-border-radius-bottomright: 20px; 1498 -moz-border-radius-bottomright: 20px;
784 border-bottom-right-radius: 20px; 1499 border-bottom-right-radius: 20px;
785 -webkit-border-bottom-right-radius: 20px; 1500 -webkit-border-bottom-right-radius: 20px;
786 -moz-border-radius-bottomright: 20px; 1501 -moz-border-radius-bottomright: 20px;
787 border-bottom-right-radius: 20px; 1502 border-bottom-right-radius: 20px;
@@ -800,12 +1515,24 @@ div#loginBox div.footer {
800 -webkit-border-bottom-left-radius: 20px; 1515 -webkit-border-bottom-left-radius: 20px;
801 -moz-border-radius-bottomleft: 20px; 1516 -moz-border-radius-bottomleft: 20px;
802 border-bottom-left-radius: 20px; 1517 border-bottom-left-radius: 20px;
803 -webkit-border-bottom-left-radius: 20px; 1518 -webkit-border-bottom-left-radius: 20px;
804 -moz-border-radius-bottomleft: 20px; 1519 -moz-border-radius-bottomleft: 20px;
805 border-bottom-left-radius: 20px; 1520 border-bottom-left-radius: 20px;
1521 -webkit-border-bottom-left-radius: 20px;
1522 -moz-border-radius-bottomleft: 20px;
1523 border-bottom-left-radius: 20px;
1524 -webkit-border-bottom-left-radius: 20px;
1525 -moz-border-radius-bottomleft: 20px;
1526 border-bottom-left-radius: 20px;
1527 -webkit-border-bottom-right-radius: 20px;
1528 -moz-border-radius-bottomright: 20px;
1529 border-bottom-right-radius: 20px;
1530 -webkit-border-bottom-right-radius: 20px;
1531 -moz-border-radius-bottomright: 20px;
1532 border-bottom-right-radius: 20px;
806 -webkit-border-bottom-right-radius: 20px; 1533 -webkit-border-bottom-right-radius: 20px;
807 -moz-border-radius-bottomright: 20px; 1534 -moz-border-radius-bottomright: 20px;
808 border-bottom-right-radius: 20px; 1535 border-bottom-right-radius: 20px;
809 -webkit-border-bottom-right-radius: 20px; 1536 -webkit-border-bottom-right-radius: 20px;
810 -moz-border-radius-bottomright: 20px; 1537 -moz-border-radius-bottomright: 20px;
811 border-bottom-right-radius: 20px; 1538 border-bottom-right-radius: 20px;
@@ -824,24 +1551,42 @@ div#loginBox div.footer {
824 -webkit-border-bottom-left-radius: 20px; 1551 -webkit-border-bottom-left-radius: 20px;
825 -moz-border-radius-bottomleft: 20px; 1552 -moz-border-radius-bottomleft: 20px;
826 border-bottom-left-radius: 20px; 1553 border-bottom-left-radius: 20px;
827 -webkit-border-bottom-left-radius: 20px; 1554 -webkit-border-bottom-left-radius: 20px;
828 -moz-border-radius-bottomleft: 20px; 1555 -moz-border-radius-bottomleft: 20px;
829 border-bottom-left-radius: 20px; 1556 border-bottom-left-radius: 20px;
1557 -webkit-border-bottom-left-radius: 20px;
1558 -moz-border-radius-bottomleft: 20px;
1559 border-bottom-left-radius: 20px;
1560 -webkit-border-bottom-left-radius: 20px;
1561 -moz-border-radius-bottomleft: 20px;
1562 border-bottom-left-radius: 20px;
830 -webkit-border-bottom-right-radius: 20px; 1563 -webkit-border-bottom-right-radius: 20px;
831 -moz-border-radius-bottomright: 20px; 1564 -moz-border-radius-bottomright: 20px;
832 border-bottom-right-radius: 20px; 1565 border-bottom-right-radius: 20px;
833 -webkit-border-bottom-right-radius: 20px; 1566 -webkit-border-bottom-right-radius: 20px;
834 -moz-border-radius-bottomright: 20px; 1567 -moz-border-radius-bottomright: 20px;
835 border-bottom-right-radius: 20px; 1568 border-bottom-right-radius: 20px;
836 -webkit-border-bottom-right-radius: 20px; 1569 -webkit-border-bottom-right-radius: 20px;
837 -moz-border-radius-bottomright: 20px; 1570 -moz-border-radius-bottomright: 20px;
838 border-bottom-right-radius: 20px; 1571 border-bottom-right-radius: 20px;
839 -webkit-border-bottom-right-radius: 20px; 1572 -webkit-border-bottom-right-radius: 20px;
840 -moz-border-radius-bottomright: 20px; 1573 -moz-border-radius-bottomright: 20px;
841 border-bottom-right-radius: 20px; 1574 border-bottom-right-radius: 20px;
1575 -webkit-border-bottom-right-radius: 20px;
1576 -moz-border-radius-bottomright: 20px;
1577 border-bottom-right-radius: 20px;
1578 -webkit-border-bottom-right-radius: 20px;
1579 -moz-border-radius-bottomright: 20px;
1580 border-bottom-right-radius: 20px;
1581 -webkit-border-bottom-left-radius: 20px;
1582 -moz-border-radius-bottomleft: 20px;
1583 border-bottom-left-radius: 20px;
1584 -webkit-border-bottom-left-radius: 20px;
1585 -moz-border-radius-bottomleft: 20px;
1586 border-bottom-left-radius: 20px;
842 -webkit-border-bottom-left-radius: 20px; 1587 -webkit-border-bottom-left-radius: 20px;
843 -moz-border-radius-bottomleft: 20px; 1588 -moz-border-radius-bottomleft: 20px;
844 border-bottom-left-radius: 20px; 1589 border-bottom-left-radius: 20px;
845 -webkit-border-bottom-left-radius: 20px; 1590 -webkit-border-bottom-left-radius: 20px;
846 -moz-border-radius-bottomleft: 20px; 1591 -moz-border-radius-bottomleft: 20px;
847 border-bottom-left-radius: 20px; 1592 border-bottom-left-radius: 20px;
@@ -860,12 +1605,90 @@ div#loginBox div.footer {
860 -webkit-border-bottom-right-radius: 20px; 1605 -webkit-border-bottom-right-radius: 20px;
861 -moz-border-radius-bottomright: 20px; 1606 -moz-border-radius-bottomright: 20px;
862 border-bottom-right-radius: 20px; 1607 border-bottom-right-radius: 20px;
863 -webkit-border-bottom-right-radius: 20px; 1608 -webkit-border-bottom-right-radius: 20px;
864 -moz-border-radius-bottomright: 20px; 1609 -moz-border-radius-bottomright: 20px;
865 border-bottom-right-radius: 20px; 1610 border-bottom-right-radius: 20px;
1611 -webkit-border-bottom-right-radius: 20px;
1612 -moz-border-radius-bottomright: 20px;
1613 border-bottom-right-radius: 20px;
1614 -webkit-border-bottom-right-radius: 20px;
1615 -moz-border-radius-bottomright: 20px;
1616 border-bottom-right-radius: 20px;
1617 -webkit-border-bottom-left-radius: 20px;
1618 -moz-border-radius-bottomleft: 20px;
1619 border-bottom-left-radius: 20px;
1620 -webkit-border-bottom-left-radius: 20px;
1621 -moz-border-radius-bottomleft: 20px;
1622 border-bottom-left-radius: 20px;
1623 -webkit-border-bottom-left-radius: 20px;
1624 -moz-border-radius-bottomleft: 20px;
1625 border-bottom-left-radius: 20px;
1626 -webkit-border-bottom-left-radius: 20px;
1627 -moz-border-radius-bottomleft: 20px;
1628 border-bottom-left-radius: 20px;
1629 -webkit-border-bottom-left-radius: 20px;
1630 -moz-border-radius-bottomleft: 20px;
1631 border-bottom-left-radius: 20px;
1632 -webkit-border-bottom-left-radius: 20px;
1633 -moz-border-radius-bottomleft: 20px;
1634 border-bottom-left-radius: 20px;
1635 -webkit-border-bottom-right-radius: 20px;
1636 -moz-border-radius-bottomright: 20px;
1637 border-bottom-right-radius: 20px;
1638 -webkit-border-bottom-right-radius: 20px;
1639 -moz-border-radius-bottomright: 20px;
1640 border-bottom-right-radius: 20px;
1641 -webkit-border-bottom-right-radius: 20px;
1642 -moz-border-radius-bottomright: 20px;
1643 border-bottom-right-radius: 20px;
1644 -webkit-border-bottom-right-radius: 20px;
1645 -moz-border-radius-bottomright: 20px;
1646 border-bottom-right-radius: 20px;
1647 -webkit-border-bottom-right-radius: 20px;
1648 -moz-border-radius-bottomright: 20px;
1649 border-bottom-right-radius: 20px;
1650 -webkit-border-bottom-right-radius: 20px;
1651 -moz-border-radius-bottomright: 20px;
1652 border-bottom-right-radius: 20px;
1653 -webkit-border-bottom-left-radius: 20px;
1654 -moz-border-radius-bottomleft: 20px;
1655 border-bottom-left-radius: 20px;
1656 -webkit-border-bottom-left-radius: 20px;
1657 -moz-border-radius-bottomleft: 20px;
1658 border-bottom-left-radius: 20px;
1659 -webkit-border-bottom-left-radius: 20px;
1660 -moz-border-radius-bottomleft: 20px;
1661 border-bottom-left-radius: 20px;
1662 -webkit-border-bottom-left-radius: 20px;
1663 -moz-border-radius-bottomleft: 20px;
1664 border-bottom-left-radius: 20px;
1665 -webkit-border-bottom-left-radius: 20px;
1666 -moz-border-radius-bottomleft: 20px;
1667 border-bottom-left-radius: 20px;
1668 -webkit-border-bottom-left-radius: 20px;
1669 -moz-border-radius-bottomleft: 20px;
1670 border-bottom-left-radius: 20px;
1671 -webkit-border-bottom-right-radius: 20px;
1672 -moz-border-radius-bottomright: 20px;
1673 border-bottom-right-radius: 20px;
1674 -webkit-border-bottom-right-radius: 20px;
1675 -moz-border-radius-bottomright: 20px;
1676 border-bottom-right-radius: 20px;
1677 -webkit-border-bottom-right-radius: 20px;
1678 -moz-border-radius-bottomright: 20px;
1679 border-bottom-right-radius: 20px;
1680 -webkit-border-bottom-right-radius: 20px;
1681 -moz-border-radius-bottomright: 20px;
1682 border-bottom-right-radius: 20px;
1683 -webkit-border-bottom-right-radius: 20px;
1684 -moz-border-radius-bottomright: 20px;
1685 border-bottom-right-radius: 20px;
1686 -webkit-border-bottom-right-radius: 20px;
1687 -moz-border-radius-bottomright: 20px;
1688 border-bottom-right-radius: 20px;
866} 1689}
867body.ext-gecko div#loginBox form.loginForm div.translations ul li { 1690body.ext-gecko div#loginBox form.loginForm div.translations ul li {
868 display: -moz-inline-box; 1691 display: -moz-inline-box;
869} 1692}
870div#featurePoints { 1693div#featurePoints {
871 min-width: 400px; 1694 min-width: 400px;
@@ -965,2739 +1788,423 @@ div.activeFeatures div.createAccountLink:hover a.createAccountLink span.link {
965div.activeFeatures div.createAccountLink canvas { 1788div.activeFeatures div.createAccountLink canvas {
966 width: 282px; 1789 width: 282px;
967 height: 93px; 1790 height: 93px;
968} 1791}
969/* 1792/*
970 1793
971img.favicon { 1794Color list:
972 height: 16px; 1795- login box:
973 width: 16px; 1796 light#ff9955
974} 1797 dark#ff6622
975 1798- login button:
976body.ext-gecko .keepTogether { 1799 regular#dd5500
977 display: -moz-inline-box; 1800 hover#773311
978} 1801- login translations:
979 1802 box: #cc6622;
980 1803 not-selected:
981 1804 color: #ddaa99
982 1805 background:#994422
983 1806 selected: #772211;
984 1807*/
985 1808html {
986 1809 height: 100%;
987div.activeFeatures {
988 float: left;
989 margin-left: 20px;
990 height: 100px;
991}
992div.activeFeatures a {
993 display: inline-block;
994 padding-left: 46px;
995 color: #ff5906;
996 text-decoration: none;
997 font-size: 10pt;
998}
999div.activeFeatures .keepTogether a {
1000 padding-left: 0px;
1001}
1002div.activeFeatures a span.payoff {
1003 display: block;
1004 font-size: 13pt;
1005 font-weight: lighter;
1006 color: #9b9689;
1007 margin: 0px;
1008 padding: 0px;
1009}
1010// body.ext-gecko div.activeFeatures a {
1011 //display: -moz-inline-box;
1012// }
1013div.activeFeatures a:hover span.payoff {
1014 color: #666666;
1015}
1016div.activeFeatures a:hover span.link {
1017 //font-weight: bold;
1018}
1019div.activeFeatures div.keepTogether div {
1020 display: inline-block;
1021 padding-right: 15px;
1022}
1023// body.ext-gecko div.activeFeatures div.keepTogether div {
1024 //display: -moz-inline-box;
1025// }
1026div.activeFeatures div.createAccountLink {
1027 display: inline-block;
1028 width: 282;
1029 height: 65px;
1030 //background-image: url(../images/old/home/register.png);
1031
1032 margin-right: 20px;
1033}
1034// body.ext-gecko div.activeFeatures div.createAccountLink {
1035 //display: -moz-inline-box;
1036// }
1037div.activeFeatures a.createAccountLink {
1038 position: relative;
1039 top: -92px;
1040 left: 5px;
1041}
1042div.activeFeatures div.createAccountLink a.createAccountLink span.payoff {
1043 margin-top: 23px;
1044 margin-left: 40px;
1045 font-size: 17pt;
1046 color: #64626c;
1047}
1048div.activeFeatures div.createAccountLink a.createAccountLink span.link {
1049 padding-left: 40px;
1050 padding-right: 50px;
1051 padding-bottom: 10px;
1052 font-size: 12pt;
1053}
1054div.activeFeatures div.createAccountLink:hover {
1055 //background-image: url(../images/old/home/register_selected.png);
1056
1057}
1058div.activeFeatures div.createAccountLink:hover a.createAccountLink span.payoff {
1059 color: #54535a;
1060}
1061div.activeFeatures div.createAccountLink:hover a.createAccountLink span.link {
1062 color: white;
1063}
1064// div.activeFeatures div.screenshotLink {
1065 // background: url(../images/old/home/look.png) no-repeat 0 -3px;
1066// }
1067//
1068// div.activeFeatures div.offlineLink {
1069 // background: url(../images/old/home/download.png) no-repeat 10px -4px;
1070// }
1071
1072div.createAccountLink canvas {
1073 width: 282px;
1074 height: 93px;
1075}
1076div.activeFeatures .keepTogether canvas {
1077 width: 46px;
1078 height: 46px;
1079 vertical-align: bottom;
1080}
1081
1082div.pageHeaderAndBody {
1083 height: 100%;
1084}
1085body > div.pageHeaderAndBody {
1086 height: auto;
1087 min-height: 100%;
1088}
1089div#pageBody {
1090 min-width: 1013px;
1091 padding-bottom: 90px;
1092}
1093div.pageFooter {
1094 margin-top: -90px;
1095 height: 90px;
1096 clear: both;
1097}
1098div.footerWrapper {
1099 clear: both;
1100 padding-top: 10px;
1101}
1102div.footerContent {
1103 background-color: #eaebe6;
1104 padding: 20px;
1105 font-size: 8pt;
1106}
1107// div.pageFooter div.footerContent div.footerStarIcon {
1108div.pageFooter div.footerContent canvas.footerStarIcon {
1109 //background-image: url(../images/old/footer/star.png);
1110
1111 width: 40px;
1112 height: 40px;
1113 float: left;
1114}
1115div.pageFooter div.footerContent span.copyright {
1116 padding-left: 10px;
1117 color: #a0a0a0;
1118}
1119div.pageFooter div.footerContent a {
1120 padding-left: 50px;
1121 display: block;
1122 color: #888888;
1123 font-weight: bold;
1124 text-decoration: none;
1125}
1126div.pageFooter div.footerContent span.applicationVersion {
1127 padding: 8px;
1128 color: #888888;
1129 background-color: #d2d2d2;
1130 position: relative;
1131 top: -40px;
1132 float: right;
1133}
1134
1135div#javaScriptAlert div.mask {
1136 position: fixed;
1137 top: 0px;
1138 left: 0px;
1139 right: 0px;
1140 bottom: 0px;
1141 background-color: black;
1142 z-index: 1001;
1143 -moz-opacity: 0.7;
1144 opacity: .70;
1145 filter: alpha(opacity=70);
1146}
1147div#javaScriptAlert div.header {
1148 height: 34px;
1149 width: 468;
1150 background-image: url(../images/old/alert/header.png);
1151}
1152div#javaScriptAlert div.body {
1153 background-image: url(../images/old/alert/body.png);
1154 padding: 0px 20px 10px 20px;
1155}
1156// div#javaScriptAlert div.body div.alert {
1157 // padding-left: 100px;
1158 // background: url(../images/old/alert/alert.png) no-repeat;
1159// }
1160// div#javaScriptAlert div.body img.alert {
1161div#javaScriptAlert div.body div.alertLogo {
1162 float: left;
1163 background-image: url(../images/old/alert/alert.png);
1164 width: 88px;
1165 height: 88px;
1166}
1167div#javaScriptAlert div.body div.alert {
1168 padding-left: 100px;
1169}
1170div#javaScriptAlert div.footer {
1171 height: 34px;
1172 width: 468;
1173 background-image: url(../images/old/alert/footer.png);
1174}
1175div#javaScriptAlert div.message {
1176 position: relative;
1177 top: -150px;
1178 z-index: 1002;
1179 //left: 100px;
1180 //right: 100px;
1181
1182 margin-left: auto;
1183 margin-right: auto;
1184 max-width: 468px;
1185}
1186div#javaScriptAlert div.message h1 {
1187 font-size: 16pt;
1188 margin: 0px;
1189 color: #ff5930;
1190}
1191div#javaScriptAlert div.message p {
1192 margin-top: 0px;
1193 color: #999999;
1194}
1195div#javaScriptAlert div.message h3 {
1196 font-size: 12pt;
1197 margin-bottom: 0px;
1198 color: #ff5930;
1199}
1200div#javaScriptAlert div.message h5 {
1201 margin: 0px;
1202 color: #999999;
1203}
1204
1205div.LoginProgress {
1206 position: relative;
1207 left: -190px;
1208 top: -100px;
1209 width: 380px;
1210 height: 200px;
1211 //background: url(../images/old/loginProgress/background.png);
1212
1213 background-color: #d7d7c0;
1214 -webkit-border-radius: 20px;
1215 -moz-border-radius: 20px;
1216 border-radius: 20px;
1217 -webkit-box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.6);
1218 -moz-box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.6);
1219 box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.6);
1220}
1221div.LoginProgress div.header {
1222 height: 40px;
1223}
1224div.LoginProgress div.header h3 {
1225 font-size: 12pt;
1226 font-weight: normal;
1227 margin: 0px;
1228 color: #777777;
1229 padding-top: 13px;
1230 padding-left: 18px;
1231}
1232div.LoginProgress div.body {
1233 height: 120px;
1234 overflow: auto;
1235 padding-left: 20px;
1236 padding-right: 20px;
1237 background-color: #f1f1e9;
1238 //margin-left: 19px;
1239 //margin-right: 18px;
1240}
1241div.LoginProgress div.body div.img {
1242 margin: 10px;
1243 width: 50px;
1244 height: 50px;
1245 float: left;
1246}
1247div.LoginProgress div.body div.img.ALERT {
1248 //background-image: url(../images/old/simpleMessageBox/Alert.png);
1249
1250 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9955), to(#ff6622), color-stop(1, #333333));
1251 background: -moz-linear-gradient(0% 100% 90deg, #ff6622, #ff9955);
1252 -webkit-border-radius: 25px;
1253 -moz-border-radius: 25px;
1254 border-radius: 25px;
1255}
1256div.LoginProgress div.body div.img.ALERT canvas {
1257 width: 50px;
1258 height: 50px;
1259 //background-image: url(../images/old/simpleMessageBox/excalmationPoint.png);
1260
1261}
1262div.LoginProgress div.body div.loadingBar {
1263 position: relative;
1264 top: 51px;
1265 left: 60px;
1266}
1267div.LoginProgress div.body div.errorBox p {
1268 color: #787872;
1269 padding-top: 20px;
1270 padding-left: 80px;
1271}
1272div.LoginProgress div.footer {
1273 margin-left: 19px;
1274 margin-right: 18px;
1275}
1276div.LoginProgress div.footer a {
1277 text-decoration: none;
1278 text-align: center;
1279 color: #787872;
1280 display: block;
1281 font-weight: bold;
1282 font-size: 11pt;
1283 width: 100px;
1284 margin-top: 11px;
1285 margin-left: auto;
1286 margin-right: auto;
1287}
1288div.LoginProgress div.footer div.button.default {
1289 text-decoration: underline;
1290}
1291div.LoginProgress div.buttonArea {
1292 text-align: center;
1293}
1294div.LoginProgress div.button {
1295 display: inline-block;
1296}
1297div.LoginProgress div.footer a:hover {
1298 color: #515247;
1299}
1300
1301div.SimpleMessagePanel {
1302 position: relative;
1303 left: -225px;
1304 top: -70px;
1305 width: 450px;
1306 height: 140px;
1307 //background: url(../images/old/loginProgress/background.png);
1308}
1309div.SimpleMessagePanel div.header {
1310 height: 17px;
1311 background: url(../images/old/simpleMessageBox/background_header.png) no-repeat;
1312}
1313div.SimpleMessagePanel div.body {
1314 //height: 120px;
1315 //overflow: auto;
1316 //margin-left: 19px;
1317 //margin-right: 18px;
1318
1319 background: url(../images/old/simpleMessageBox/background_body.png) repeat-y;
1320 padding-left: 25px;
1321 padding-right: 25px;
1322 padding-top: 10px;
1323}
1324div.SimpleMessagePanel div.body h3 {
1325 font-size: 14pt;
1326 font-weight: normal;
1327 margin: 0px;
1328 padding-top: 4px;
1329 color: #787872;
1330}
1331div.SimpleMessagePanel div.body div.img {
1332 width: 66px;
1333 height: 60px;
1334 float: left;
1335}
1336div.SimpleMessagePanel div.body p {
1337 margin: 0;
1338 font-size: 10pt;
1339 font-weight: normal;
1340 color: #787872;
1341 padding-top: 10px;
1342 padding-bottom: 5px;
1343 line-height: 1.3;
1344}
1345div.SimpleMessagePanel div.body div.img.ALERT {
1346 background: url(../images/old/simpleMessageBox/Alert.png) no-repeat;
1347}
1348div.SimpleMessagePanel div.body div.img.INFO {
1349 background: url(../images/old/simpleMessageBox/Info.png) no-repeat;
1350}
1351div.SimpleMessagePanel div.body div.buttonArea {
1352 height: 40px;
1353 clear: both;
1354}
1355div.SimpleMessagePanel div.body div.buttonArea > div {
1356 float: right;
1357 margin-left: 15px;
1358 margin-top: 10px;
1359}
1360div.SimpleMessagePanel div.footer {
1361 height: 25px;
1362 background: url(../images/old/simpleMessageBox/background_footer.png) no-repeat;
1363}
1364div.SimpleMessagePanel div.passphrase {
1365 padding-left: 65px;
1366}
1367div.SimpleMessagePanel div.passphrase input {
1368 width: 250px;
1369 font-size: 14pt;
1370 border: 1px solid #bb4924;
1371 color: #333366;
1372 background-color: white;
1373 padding: 2px 5px;
1374 height: 28px;
1375}
1376div.SimpleMessagePanel div.progressBarWrapper {
1377 margin-left: 80px;
1378} 1810}
1379 1811body {
1380div.button_wrapper { 1812 font-family: Helvetica-Neue, Helvetica, Arial, Geneva, sans-serif;
1381 height: 32px; 1813 margin: 0px;
1382 background: url(../images/old/button/default_left.png) no-repeat;
1383 cursor: pointer;
1384} 1814}
1385div.button_wrapper.hover { 1815div.modalDialogMask.userInfoBoxMask {
1386 background: url(../images/old/button/hover_left.png) no-repeat; 1816 -moz-opacity: 0.0;
1817 opacity: .0;
1818 filter: alpha(opacity=0);
1819 z-index: 19000;
1387} 1820}
1388div.button_wrapper.clicked { 1821.reset-margin {
1389 background: url(../images/old/button/clicked_left.png) no-repeat; 1822 margin: 0px;
1823 padding: 0px;
1824 border: 0px;
1390} 1825}
1391div.button_bodyWrapper { 1826.clear {
1392 height: 32px; 1827 clear: both;
1393 margin-left: 6px;
1394 padding-right: 6px;
1395 background: url(../images/old/button/default_main.png) repeat-x right 0;
1396} 1828}
1397div.button_wrapper.hover div.button_bodyWrapper { 1829.hidden_none {
1398 background: url(../images/old/button/hover_main.png) repeat-x right 0; 1830 display: none;
1831 visibility: hidden;
1399} 1832}
1400div.button_wrapper.clicked div.button_bodyWrapper { 1833.keepTogether {
1401 background: url(../images/old/button/clicked_main.png) repeat-x right 0; 1834 display: inline-block;
1835 white-space: nowrap;
1402} 1836}
1403div.button_body { 1837#mainDiv {
1404 text-align: center; 1838 margin: 0 auto;
1405 min-width: 60px;
1406 padding: 0px 7px;
1407 padding-top: 8px;
1408} 1839}
1409div.button_body span { 1840div.userInfoBox {
1410 font-size: 11pt; 1841 position: absolute;
1411 color: white; 1842 width: 160px;
1843 height: 120px;
1844 top: 100px;
1845 left: 15px;
1846 color: white;
1847 background-color: #ff9955;
1848 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
1849 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1850 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
1851 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1852 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
1853 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1854 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
1855 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1856 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
1857 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1858 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723));
1859 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1860 border-radius: 10px;
1861 -moz-border-radius: 10px;
1862 -webkit-border-radius: 10px;
1863 border-radius: 10px;
1864 -moz-border-radius: 10px;
1865 -webkit-border-radius: 10px;
1866 border-radius: 10px;
1867 -moz-border-radius: 10px;
1868 -webkit-border-radius: 10px;
1869 border-radius: 10px;
1870 -moz-border-radius: 10px;
1871 -webkit-border-radius: 10px;
1872 border-radius: 10px;
1873 -moz-border-radius: 10px;
1874 -webkit-border-radius: 10px;
1875 border-radius: 10px;
1876 -moz-border-radius: 10px;
1877 -webkit-border-radius: 10px;
1878 -webkit-box-shadow: 2px 2px 9px #333333;
1879 -moz-box-shadow: 2px 2px 9px #333333;
1880 box-shadow: 2px 2px 9px #333333;
1881 -webkit-box-shadow: 2px 2px 9px #333333;
1882 -moz-box-shadow: 2px 2px 9px #333333;
1883 box-shadow: 2px 2px 9px #333333;
1884 -webkit-box-shadow: 2px 2px 9px #333333;
1885 -moz-box-shadow: 2px 2px 9px #333333;
1886 box-shadow: 2px 2px 9px #333333;
1887 -webkit-box-shadow: 2px 2px 9px #333333;
1888 -moz-box-shadow: 2px 2px 9px #333333;
1889 box-shadow: 2px 2px 9px #333333;
1890 -webkit-box-shadow: 2px 2px 9px #333333;
1891 -moz-box-shadow: 2px 2px 9px #333333;
1892 box-shadow: 2px 2px 9px #333333;
1893 -webkit-box-shadow: 2px 2px 9px #333333;
1894 -moz-box-shadow: 2px 2px 9px #333333;
1895 box-shadow: 2px 2px 9px #333333;
1412} 1896}
1413div.button_wrapper.default div.button_body span { 1897div.userInfoBox.locked {
1414 font-weight: bold; 1898 z-index: 19001;
1415} 1899}
1416 1900div.userInfoBox.locked div.header a.lockButton {
1417// div.button_footer { 1901 background: url(../images/old/lock/locked.png) no-repeat -5px -2px;
1418 // margin: 0px;
1419 // height: 31px;
1420 // width: 6px;
1421 // background: green url(../images/old/button/default_right.png) no-repeat;
1422// }
1423
1424input.entropyLevelIndicator {
1425 background: url(../images/old/passwordField/background.png) no-repeat 0 26px;
1426}
1427div.passwordEntropyWrapper {
1428 padding: 0px;
1429 border: 1px solid #bb4924;
1430 border-top: 0px;
1431 margin-bottom: 4px;
1432 background-color: white;
1433 margin-right: 3px;
1434 margin-top: -2;
1435}
1436div.passwordEntropy {
1437 height: 4px;
1438 font-size: 1pt;
1439 background: url(../images/old/entropyBackground.gif) repeat-x 0 0;
1440 line-height: 3px;
1441} 1902}
1442 1903div.userInfoBox.locked div.header a.lockButton:hover {
1443div.userInfoBox { 1904 background: url(../images/old/lock/locked_hover.png) no-repeat -5px -2px;
1444 position: absolute;
1445 width: 160px;
1446 height: 120px;
1447 top: 100px;
1448 left: 15px;
1449 //background-image: url(../images/old/main/userInfoBackground.png);
1450
1451 background-color: #ff9955;
1452 background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ff9a56), to(#ff6723), color-stop(1, #333333));
1453 background: -moz-linear-gradient(0% 100% 90deg, #ff6723, #ff9a56);
1454 -webkit-border-radius: 10px;
1455 -moz-border-radius: 10px;
1456 border-radius: 10px;
1457 -webkit-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6);
1458 -moz-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6);
1459 box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6);
1460 color: white;
1461} 1905}
1462div.userInfoBox div.body { 1906div.userInfoBox.locked div.body a {
1463 padding: 0px 12px; 1907 display: none;
1464} 1908}
1465div.userInfoBox div.header { 1909div.userInfoBox div.header {
1466 height: 30px; 1910 height: 30px;
1467} 1911}
1468div.userInfoBox div.header h1 { 1912div.userInfoBox div.header h1 {
1469 font-size: 8pt; 1913 font-size: 8pt;
1470 font-weight: normal; 1914 font-weight: normal;
1471 margin: 0px; 1915 margin: 0px;
1472 padding-top: 12px; 1916 padding-top: 12px;
1473 padding-left: 12px; 1917 padding-left: 12px;
1474} 1918}
1475div.userInfoBox div.header a.lockButton { 1919div.userInfoBox div.header a.lockButton {
1476 position: absolute; 1920 position: absolute;
1477 top: 8px; 1921 top: 8px;
1478 right: 12px; 1922 right: 12px;
1479 display: block; 1923 display: block;
1480 width: 15px; 1924 width: 15px;
1481 height: 20px; 1925 height: 20px;
1482 text-decoration: none; 1926 text-decoration: none;
1483 background: url(../images/old/lock/unlocked.png) no-repeat -5px -2px; 1927 background: url(../images/old/lock/unlocked.png) no-repeat -5px -2px;
1484} 1928}
1485div.userInfoBox div.header a.lockButton:hover { 1929div.userInfoBox div.header a.lockButton:hover {
1486 background: url(../images/old/lock/unlocked_hover.png) no-repeat -5px -2px; 1930 background: url(../images/old/lock/unlocked_hover.png) no-repeat -5px -2px;
1487}
1488div.userInfoBox.locked {
1489 z-index: 19001;
1490} 1931}
1491div.modalDialogMask.userInfoBoxMask { 1932div.userInfoBox div.body {
1492 -moz-opacity: 0.0; 1933 padding: 0px 12px;
1493 opacity: .0;
1494 filter: alpha(opacity=0);
1495 z-index: 19000;
1496}
1497div.userInfoBox.locked div.header a.lockButton {
1498 background: url(../images/old/lock/locked.png) no-repeat -5px -2px;
1499}
1500div.userInfoBox.locked div.header a.lockButton:hover {
1501 background: url(../images/old/lock/locked_hover.png) no-repeat -5px -2px;
1502} 1934}
1503div.userInfoBox div.body h3 { 1935div.userInfoBox div.body h3 {
1504 font-size: 11pt; 1936 font-size: 11pt;
1505 font-weight: bold; 1937 font-weight: bold;
1506 margin: 0px; 1938 margin: 0px;
1507} 1939}
1508div.userInfoBox div.body ul { 1940div.userInfoBox div.body ul {
1509 list-style-image: url(../images/old/main/userInfoBullet.png); 1941 font-size: 8pt;
1510 font-size: 8pt; 1942 padding: 0px;
1511 padding: 0px; 1943 margin: 4px 0px;
1512 margin: 4px 0px; 1944 list-style-position: inside;
1513 list-style-position: inside; 1945 text-shadow: #000000 0 0 0;
1514 text-shadow: #000000 0 0 0;
1515} 1946}
1516div.userInfoBox div.body ul li span.number { 1947div.userInfoBox div.body ul li span.number {
1517 font-weight: bold; 1948 font-weight: bold;
1518 padding-right: 3px; 1949 padding-right: 3px;
1519} 1950}
1520div.userInfoBox div.body a { 1951div.userInfoBox div.body a {
1521 display: block; 1952 display: block;
1522 margin-top: 8 1953 margin-top: 8px;
1523 px; 1954 border-top: 1px solid white;
1524 border-top: 1px solid white; 1955 padding-top: 6px;
1525 padding-top: 6px; 1956 font-size: 10pt;
1526 font-size: 10pt; 1957 font-weight: bold;
1527 font-weight: bold; 1958 color: #d15a22;
1528 color: #d15a22; 1959 border-color: #fe9a5f;
1529 text-decoration: none; 1960 text-decoration: none;
1530 border-color: #fe9a5f;
1531} 1961}
1532div.userInfoBox div.body a:hover { 1962div.userInfoBox div.body a:hover {
1533 color: #8c3b15; 1963 color: #8c3b15;
1534}
1535div.userInfoBox.locked div.body a {
1536 display: none;
1537} 1964}
1538
1539div.messageBox {
1540 position: absolute;
1541 width: 409px;
1542 height: 29px;
1543 top: 23px;
1544 left: 204px;
1545 background: url(../images/old/main/messageBoxBackground.png);
1546}
1547div.messageBox h3 {
1548 display: inline-block;
1549 color: #342f6b;
1550 font-weight: bold;
1551 margin: 7px 2px 0px 12px;
1552 font-size: 10pt;
1553}
1554body.ext-gecko div.messageBox h3 {
1555 display: -moz-inline-box;
1556}
1557div.messageBox h1 {
1558 color: #342f6b;
1559 display: inline;
1560 font-weight: normal;
1561 margin: 0px 1px;
1562 font-size: 9pt;
1563}
1564div.messageBox a {
1565 display: block;
1566 width: 20px;
1567 height: 20px;
1568 float: right;
1569 position: absolute;
1570 right: 5px;
1571 top: 4px;
1572 background-image: url(../images/old/main/messageBoxCloseButton.png);
1573}
1574div.messageBox a:hover {
1575 background-image: url(../images/old/main/messageBoxCloseButtonActive.png);
1576}
1577
1578div.sidePanels { 1965div.sidePanels {
1579 //position: relative; 1966 float: left;
1580 //top: 110px; 1967 margin-top: 106px;
1581 1968 margin-left: 20px;
1582 float: left; 1969 width: 160px;
1583 margin-top: 106px;
1584 margin-left: 20px;
1585 width: 160px;
1586}
1587
1588div.tabSidePanel {
1589 margin-right: -10px;
1590 //position: absolute;
1591 //width: 250px;
1592 //height: 250px;
1593 //top: 250px;
1594 //left: 10px;
1595}
1596div.tabSidePanel ul {
1597 margin: 0px;
1598 padding-left: 0px;
1599 list-style-type: none;
1600 color: #f78b46;
1601}
1602
1603div.tabSidePanel ul.mainTabs {
1604 margin: 0px;
1605}
1606div.tabSidePanel ul.mainTabs li {
1607 //margin-bottom: 6px;
1608
1609}
1610div.tabSidePanel ul.mainTabs li a {
1611 display: block;
1612 line-height: 30px;
1613 height: 43px;
1614 padding-left: 40px;
1615 color: #ff6621;
1616 margin: 0px;
1617 font-weight: normal;
1618 font-size: 13pt;
1619 text-decoration: none;
1620}
1621div.tabSidePanel ul.mainTabs li div.selectionHighlighter {
1622 display: none;
1623}
1624div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter {
1625 display: block;
1626 position: absolute;
1627 left: 154px;
1628 margin-top: -43px;
1629}
1630
1631// div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter div.selectionHighlighterIcon {
1632 // background-image: url(../images/main/tabs/selectionHighligher.png);
1633 // width: 50px;
1634 // height: 34px;
1635 // float: left;
1636 // z-index: 35000;
1637 // border: 1px solid red;
1638// }
1639
1640div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter a.add {
1641 font-size: 14pt;
1642 font-weight: bold;
1643 position: relative;
1644 top: -34px;
1645 right: 16px;
1646 background: none;
1647 color: #c0531b;
1648 padding-left: 15px;
1649}
1650div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter a.add:hover {
1651 color: white;
1652}
1653div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter a.add span {
1654 font-size: 8pt;
1655 vertical-align: middle;
1656}
1657div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter a.add h3 {
1658 display: inline;
1659 padding-left: 5px;
1660}
1661div.tabSidePanel ul.mainTabs li.cards.selected a {
1662 margin-left: -10px;
1663 padding-left: 50px;
1664 color: white;
1665 background: url(../images/old/main/tabs/cardsBackground.png) -9px -14px;
1666}
1667div.tabSidePanel ul.mainTabs li.cards.selected a:hover {
1668 background: url(../images/old/main/tabs/cardsBackground.png) -9px -14px;
1669}
1670div.tabSidePanel ul.mainTabs li.cards a {
1671 background: url(../images/old/main/tabs/cardsBackground.png) -19px -63px;
1672}
1673div.tabSidePanel ul.mainTabs li.cards a:hover {
1674 background: url(../images/old/main/tabs/cardsBackground.png) -19px -110px;
1675}
1676div.tabSidePanel ul.mainTabs li.directLogins.selected a {
1677 margin-left: -10px;
1678 padding-left: 50px;
1679 color: white;
1680 //background: url(../images/old/main/tabs/directLoginBackground.png) 0 -1px;
1681 background: url(../images/old/main/tabs/directLoginBackground.png) -9px -14px;
1682}
1683div.tabSidePanel ul.mainTabs li.directLogins.selected a:hover {
1684 color: white;
1685 //background: url(../images/old/main/tabs/directLoginBackground.png) 0 -1px;
1686 background: url(../images/old/main/tabs/directLoginBackground.png) -9px -14px;
1687}
1688div.tabSidePanel ul.mainTabs li.directLogins a {
1689 //background: url(../images/old/main/tabs/directLoginBackground.png) 0 -34px;
1690 background: url(../images/old/main/tabs/directLoginBackground.png) -19px -63px;
1691}
1692div.tabSidePanel ul.mainTabs li.directLogins a:hover {
1693 //background: url(../images/old/main/tabs/directLoginBackground.png) 0 -67px;
1694 background: url(../images/old/main/tabs/directLoginBackground.png) -19px -110px;
1695}
1696
1697div.tabSidePanel ul.otherTabs {
1698 margin: 10px 0px;
1699}
1700div.tabSidePanel ul.otherTabs li {
1701 margin-top: -4px;
1702}
1703div.tabSidePanel ul.otherTabs li div.selectionHighlighter {
1704 display: none;
1705}
1706div.tabSidePanel ul.otherTabs li.selected div.selectionHighlighter {
1707 display: block;
1708 position: absolute;
1709 left: 154px;
1710 margin-top: -42px;
1711}
1712div.tabSidePanel ul.otherTabs a {
1713 display: block;
1714 line-height: 36px;
1715 height: 43px;
1716 padding-left: 40px;
1717 color: #ff6621;
1718 text-decoration: none;
1719 //background: url(../images/old/main/tabs/itemsBackground.png) -10px -49px;
1720}
1721div.tabSidePanel ul.otherTabs li.selected a {
1722 //background: url(../images/old/main/tabs/itemsBackground.png) 0 -1px;
1723 //background: url(../images/old/main/tabs/itemsBackground.png) 0 -67px;
1724
1725 margin-left: -10px;
1726 padding-left: 50px;
1727 background: url(../images/old/main/tabs/itemsBackground.png) 1px -96px;
1728 color: white;
1729}
1730div.tabSidePanel ul.otherTabs a:hover {
1731 //background: url(../images/old/main/tabs/itemsBackground.png) 0 -34px;
1732
1733 background: url(../images/old/main/tabs/itemsBackground.png) -10px -49px;
1734}
1735
1736div.tagSidePanel {
1737 //position: relative;
1738 //width: 250px;
1739 //min-height: 100px;
1740 //left: 10px;
1741
1742 margin-right: -8px;
1743}
1744div.tagSidePanel div.header {
1745 height: 50px;
1746 background-image: url(../images/old/main/tabs/tagsBackground.png);
1747}
1748div.tagSidePanel div.header h1 {
1749 padding-left: 52px;
1750 padding-top: 14px;
1751 font-size: 14pt;
1752 font-weight: normal;
1753 color: #888888;
1754}
1755div.tagSidePanel div.body {
1756 background: url(../images/old/main/tabs/tagsBackground.png) -255px;
1757}
1758div.tagSidePanel div.footer {
1759 height: 10px;
1760 background: url(../images/old/main/tabs/tagsBackground.png) -510px -40px;
1761}
1762div.tagSidePanel ul.tags {
1763 margin: 0px;
1764 list-style-type: none;
1765 padding: 0px;
1766}
1767div.tagSidePanel ul.tags li a {
1768 display: block;
1769 font-size: 9pt;
1770 text-decoration: none;
1771 color: #ff6621;
1772 padding: 0px 4px 0px 15px;
1773 line-height: 20px;
1774}
1775div.tagSidePanel ul.tags li a:hover {
1776 background-color: #dddddd;
1777}
1778div.tagSidePanel ul.tags li span.tagCardinality {
1779 float: right;
1780 font-size: 8pt;
1781 color: #999999;
1782 margin-right: 15px;
1783 margin-top: -17px;
1784}
1785div.tagSidePanel ul.tags li.selected a {
1786 background-color: #d4d5cf;
1787}
1788div.tagSidePanel ul.tags li.selected a:hover {
1789 background-color: #d4d5cf;
1790}
1791div.tagSidePanel ul.tags li.selected a {
1792 font-weight: bold;
1793}
1794
1795div.groupSidePanel {
1796 margin-right: -10px;
1797 //position: relative;
1798 //width: 250px;
1799 //min-height: 100px;
1800 //left: 10px;
1801}
1802div.groupSidePanel div.header {
1803 height: 50px;
1804 background-image: url(../images/old/main/tabs/groupsBackground.png);
1805}
1806div.groupSidePanel div.header h1 {
1807 padding-left: 52px;
1808 padding-top: 14px;
1809 font-size: 14pt;
1810 font-weight: normal;
1811 color: white;
1812}
1813div.groupSidePanel div.header a {
1814 float: right;
1815 margin-top: -30px;
1816 margin-right: 20px;
1817 text-decoration: none;
1818 color: #666666;
1819 font-size: 9pt;
1820 line-height: 18px;
1821}
1822div.groupSidePanel div.header a:hover {
1823 color: #444444;
1824}
1825div.groupSidePanel div.body {
1826 background: url(../images/old/main/tabs/groupsBackground.png) -255px;
1827}
1828div.groupSidePanel div.footer {
1829 height: 10px;
1830 background: url(../images/old/main/tabs/groupsBackground.png) -510px -39px;
1831}
1832div.groupSidePanel ul.groups {
1833 margin: 0px;
1834 list-style-type: none;
1835 padding: 0px;
1836}
1837div.groupSidePanel ul.groups li a {
1838 display: block;
1839 font-size: 9pt;
1840 text-decoration: none;
1841 color: white;
1842 padding: 0px 4px 0px 15px;
1843 line-height: 20px;
1844}
1845div.groupSidePanel ul.groups li a:hover {
1846 background-color: #aaaaaa;
1847}
1848div.groupSidePanel ul.groups li span.groupCardinality {
1849 float: right;
1850 font-size: 8pt;
1851 color: #dddddd;
1852 margin-right: 15px;
1853 margin-top: -17px;
1854}
1855div.groupSidePanel ul.groups li.selected a {
1856 background-color: #bbbbbb;
1857}
1858div.groupSidePanel ul.groups li.selected a:hover {
1859 background-color: #bbbbbb;
1860}
1861div.groupSidePanel ul.groups li.selected a {
1862 font-weight: bold;
1863}
1864
1865div.mainPanels {
1866 float: left;
1867 width: 833px;
1868 margin-top: -38px;
1869 //position: relative;
1870 //width: 100%;
1871 //min-height: 600px;
1872 //top: -40px;
1873 //left: 250px;
1874}
1875div.mainFooter {
1876 clear: both;
1877}
1878// div.body div.rows table.rows tbody tr td.delete
1879div.delete, div.new {
1880 padding-left: 5px;
1881 height: 19px;
1882}
1883div.new span, div.delete span {
1884 margin: 0px;
1885 padding: 0px;
1886 border: 0px;
1887 display: inline-block;
1888 height: 19px;
1889 padding-right: 6px;
1890}
1891div.new span a, div.delete span a {
1892 white-space: nowrap;
1893}
1894div.delete:hover {
1895 background: url(../images/old/delete_background_left.png) no-repeat 0;
1896}
1897div.delete:hover span {
1898 background: url(../images/old/delete_background.png) no-repeat right 0;
1899}
1900div.new:hover {
1901 background: url(../images/old/new_background_left.png) no-repeat 0;
1902}
1903div.new:hover span {
1904 background: url(../images/old/new_background.png) no-repeat right 0;
1905}
1906
1907// tr.selected div.delete {
1908 // background: url(../images/old/delete_background_left.png) no-repeat 0;
1909// }
1910// tr.selected div.delete span {
1911 // background: url(../images/old/delete_background.png) no-repeat right 0;
1912// }
1913
1914div.body div.rows table.rows tbody tr td.delete div.delete span a {
1915 visibility: hidden;
1916 font-size: 8pt;
1917 vertical-align: -13px;
1918 color: black;
1919}
1920div.body div.rows table.rows tbody tr.selected td.delete div.delete span a {
1921 visibility: visible;
1922}
1923div.body div.rows table.rows tbody tr:hover td.delete div.delete span a {
1924 visibility: visible;
1925}
1926div.body div.rows table.rows tbody tr:hover td.delete div.delete:hover span a {
1927 color: white;
1928}
1929
1930// div.body div.rows table.rows tbody tr.selected td.delete div.delete span a {
1931 // color: white;
1932// }
1933
1934div.gridComponent table.rows thead tr th {
1935 text-align: left;
1936 height: 30px;
1937 vertical-align: bottom;
1938}
1939div.gridComponent table.rows thead tr th.sortable span {
1940 cursor: pointer;
1941}
1942div.gridComponent table.rows thead tr th.sortable span a {
1943 margin-left: 5px;
1944 padding-left: 10px;
1945}
1946div.gridComponent table.rows thead tr th.directLoginTH {
1947 width: 420px;
1948}
1949div.gridComponent table.rows thead tr th.latestUpdateTH {
1950 width: 100px;
1951}
1952div.gridComponent table.rows thead tr th.commandsTH {
1953 width: 150px;
1954}
1955div.gridComponent table.rows thead a {
1956 text-decoration: none;
1957}
1958div.gridComponent table.rows thead span {
1959 font-weight: normal;
1960 font-size: 9pt;
1961 line-height: 20px;
1962}
1963div.gridComponent div.header div.headerSlot {
1964 float: right;
1965}
1966
1967div.mainPanels div.gridComponent div.body table.rows td.favicon {
1968 padding-left: 25px;
1969}
1970div.mainPanels div.gridComponent div.body table.rows td.favicon img {
1971 width: 16px;
1972 height: 16px;
1973 border: 0px;
1974}
1975
1976div.gridComponent th.directLoginTH span {
1977 margin-left: 7px;
1978}
1979td.card_directLogins div {
1980 display: inline-table;
1981}
1982td.card_directLogins span {
1983 display: inline-block;
1984}
1985
1986// td.card_directLogins a {
1987 // display: inline-table;
1988 // height: 19px;
1989//
1990 // padding-right: 7px;
1991// }
1992//
1993// td.card_directLogins a:hover {
1994 // background: url(../images/old/directLink_background.png) right 0;
1995// }
1996
1997div.card_directLogin {
1998 display: inline-block;
1999 height: 19px;
2000 padding-left: 7px;
2001}
2002div.card_directLogin_ellipses span {
2003 padding-bottom: 2px;
2004}
2005div.card_directLogin div.card_directLogin_body {
2006 display: inline-block;
2007 height: 19px;
2008 padding-right: 8px;
2009 background-position: left;
2010}
2011div.card_directLogin div.card_directLogin_body a {
2012 vertical-align: -14px;
2013}
2014// div.card_directLogin:hover {
2015div.card_directLogin:hover {
2016 background: url(../images/old/directLink_background_left.png) no-repeat 0 0;
2017}
2018// div.card_directLogin:hover div {
2019div.card_directLogin:hover div.card_directLogin_body {
2020 background: url(../images/old/directLink_background.png) right 0;
2021}
2022
2023div.DirectLoginListPopup {
2024 position: absolute;
2025 width: 184px;
2026}
2027div.DirectLoginListPopup div.DirectLoginListPopup_body {
2028 background-image: url(../images/old/directLogins_background.png);
2029 padding-top: 8px;
2030}
2031div.DirectLoginListPopup div.DirectLoginListPopup_footer {
2032 height: 8px;
2033 background-image: url(../images/old/directLogins_background_bottom.png);
2034}
2035div.DirectLoginListPopup div.DirectLoginListPopup_body ul {
2036 margin: 0px;
2037 padding-left: 13px;
2038 list-style: none;
2039}
2040div.DirectLoginListPopup div.DirectLoginListPopup_body ul li {
2041 padding-top: 4px;
2042 height: 20px;
2043 padding-right: 10px;
2044 white-space: nowrap;
2045}
2046div.DirectLoginListPopup div.DirectLoginListPopup_body ul li div {
2047 padding-right: 10px;
2048 overflow: hidden;
2049}
2050div.DirectLoginListPopup div.DirectLoginListPopup_body ul li img.favicon {
2051 padding-left: 9px;
2052 padding-right: 5px;
2053}
2054div.DirectLoginListPopup div.DirectLoginListPopup_body ul li a {
2055 text-decoration: none;
2056 color: white;
2057 font-weight: normal;
2058 font-size: 10pt;
2059 vertical-align: 3px;
2060 white-space: nowrap;
2061 padding-right: 8px;
2062}
2063div.DirectLoginListPopup div.DirectLoginListPopup_body ul li:hover {
2064 //background-color: #a5a696;
2065 //background-color: #7b7d70;
2066 background-color: rgba(123, 125, 112, 0.5);
2067}
2068div.DirectLoginListPopup div.DirectLoginListPopup_body ul li:hover a {
2069 background: url(../images/old/directLink_no_background.png) right;
2070}
2071
2072div.mainPanels div.gridComponent div.header {
2073 //height: 90px;
2074 //background: url(../images/old/main/blocks/cardGridBackground.png) no-repeat;
2075
2076 background: url(../images/old/main/blocks/cardGridBackground.png) no-repeat;
2077 padding-left: 40px;
2078 padding-right: 40px;
2079 padding-top: 20px;
2080 padding-bottom: 10px;
2081}
2082div.mainPanels div.gridComponent div.header form.search {
2083 height: 32px;
2084 margin: 0px;
2085}
2086div.mainPanels div.gridComponent div.header form.search div.clearSearchButton {
2087 position: absolute;
2088 margin-left: 192px;
2089 width: 22px;
2090 height: 22px;
2091 margin-top: 6px;
2092 background: url(../images/old/filter/clearFilter_notSelected.png) no-repeat;
2093}
2094div.mainPanels div.gridComponent div.header form.search div.clearSearchButton:hover {
2095 background: url(../images/old/filter/clearFilter_selected.png) no-repeat;
2096 cursor: pointer;
2097}
2098div.mainPanels div.gridComponent div.header form.search div.search {
2099 display: block;
2100 float: left;
2101 width: 217px;
2102}
2103div.mainPanels div.gridComponent div.header form.search input.search {
2104 border: 1px solid #76786a;
2105 color: #666666;
2106 font-size: 12pt;
2107 width: 100%;
2108 padding: 4px;
2109 padding-left: 24px;
2110 padding-right: 26px;
2111 background: #e8ecde url(../images/old/main/grid/search.png) no-repeat 2px 4px;
2112}
2113div.mainPanels div.gridComponent div.header form.search input.search.disabled {
2114 disabled: disabled;
2115}
2116div.mainPanels div.gridComponent div.header form.search input.search.running {
2117 background: #e8ecde url(../images/old/main/grid/running_search.gif) no-repeat 4px 5px;
2118}
2119div.mainPanels div.gridComponent div.body {
2120 clear: both;
2121 background: url(../images/old/main/blocks/cardGridBackground.png) repeat-y -836px;
2122}
2123div.mainPanels div.gridComponent div.footer {
2124 background: url(../images/old/main/blocks/cardGridBackground.png) 834px -28px;
2125 height: 35px;
2126}
2127div.mainPanels div.gridComponent div.body h1 {
2128 margin: 0px;
2129}
2130div.mainPanels div.gridComponent div.body div.rows {
2131 margin-left: 9px;
2132 margin-right: 6px;
2133 min-height: 582px;
2134 background: url(../images/old/main/blocks/cardGridStripes.png) 0 7px;
2135}
2136div.mainPanels div.gridComponent.noRows div.body table.rows thead, div.mainPanels div.gridComponent.empty div.body table.rows thead {
2137 visibility: hidden;
2138}
2139div.mainPanels div.gridComponent.empty div.body div.rows {
2140 background: #eaebe6 url(../images/old/lock/background_star.png) no-repeat center center;
2141}
2142div.mainPanels div.gridComponent.noRows div.body div.rows {
2143 background: #eaebe6;
2144}
2145div.mainPanels div.gridComponent div.body table.rows {
2146 display: block;
2147 width: 100%;
2148}
2149div.mainPanels div.gridComponent div.body table.rows tbody tr.odd.selected {
2150 background-color: #a5a696;
2151}
2152div.mainPanels div.gridComponent div.body table.rows tbody tr.even.selected {
2153 background-color: #a5a696;
2154}
2155div.mainPanels div.gridComponent div.body table.rows tbody tr.selected td a {
2156 color: #f3f4eb;
2157}
2158div.mainPanels div.gridComponent div.body table.rows tbody tr.odd {
2159 background-color: #d4d5cf;
2160}
2161div.mainPanels div.gridComponent div.body table.rows tbody tr.even {
2162 background-color: #eaebe6;
2163}
2164div.mainPanels div.gridComponent div.body table.rows tbody tr.odd:hover {
2165 background-color: #a5a696;
2166}
2167div.mainPanels div.gridComponent div.body table.rows tbody tr.even:hover {
2168 background-color: #a5a696;
2169}
2170div.mainPanels div.gridComponent div.body table.rows tbody tr td {
2171 height: 23px;
2172 max-height: 23px;
2173 //white-space: nowrap;
2174 //overflow: hidden;
2175}
2176div.mainPanels div.gridComponent div.body table.rows tbody tr td span {
2177 color: #828479;
2178 font-size: 10pt;
2179}
2180div.mainPanels div.gridComponent div.body table.rows tbody tr td a {
2181 color: #828479;
2182 font-size: 10pt;
2183 text-decoration: none;
2184}
2185div.mainPanels div.gridComponent div.body table.rows tbody tr:hover td span {
2186 color: #f3f4eb;
2187}
2188div.mainPanels div.gridComponent div.body table.rows tbody tr.selected td span {
2189 color: #f3f4eb;
2190}
2191div.mainPanels div.gridComponent div.body table.rows tbody tr:hover td a {
2192 color: #f3f4eb;
2193}
2194div.mainPanels div.gridComponent div.body table.rows tbody tr td.title a {
2195 font-weight: bold;
2196}
2197div.mainPanels div.gridComponent div.body table.rows tbody tr td img.favicon {
2198 float: right;
2199 padding-right: 6px;
2200}
2201div.gridComponent table.rows thead img {
2202 padding-left: 10px;
2203 vertical-align: middle;
2204}
2205div.gridComponent table.rows thead tr th {
2206 background-color: #eaebe6;
2207 border-bottom: 1px solid #b3b4af;
2208}
2209div.gridComponent table.rows thead span {
2210 color: #8c8f7e;
2211}
2212div.gridComponent table.rows thead tr th.unsorted span.sortable a {
2213 background-image: url(../images/old/main/grid/unsorted.png);
2214}
2215div.gridComponent table.rows thead tr th.descending span.sortable a {
2216 background-image: url(../images/old/main/grid/descending.png);
2217}
2218div.gridComponent table.rows thead tr th.ascending span.sortable a {
2219 background-image: url(../images/old/main/grid/ascending.png);
2220}
2221div.gridComponent table.rows thead tr th.faviconTH {
2222 width: 53px;
2223}
2224div.gridComponent table.rows thead tr th.titleTH {
2225 width: 200px;
2226 max-width: 200px;
2227}
2228div.gridComponent table.rows thead tr th.deleteTH {
2229 width: 50px;
2230}
2231
2232
2233div.mainPanels div.directLoginGrid div.header form.search {
2234 background: url(../images/old/main/blocks/directLoginGridBackground.png) no-repeat;
2235 padding-left: 40px;
2236 padding-top: 20px;
2237 padding-bottom: 10px;
2238 margin: 0px;
2239}
2240
2241div.mainPanels div.directLoginGrid div.header form.search input.search {
2242 border: 1px solid #76786a;
2243 color: #666666;
2244 font-size: 12pt;
2245 padding: 4px;
2246 background-color: #e8ecde;
2247}
2248
2249div.mainPanels div.directLoginGrid div.header form.search input.searchButton {
2250 background-color: #858877;
2251 border: 0px;
2252 color: white;
2253 font-size: 10pt;
2254}
2255
2256div.mainPanels div.directLoginGrid div.body {
2257 background: url(../images/old/main/blocks/directLoginGridBackground.png) repeat-y -836px;
2258}
2259
2260div.mainPanels div.directLoginGrid div.footer {
2261 background: url(../images/old/main/blocks/directLoginGridBackground.png) 834px -28px;
2262 height: 35px;
2263}
2264
2265div.mainPanels div.directLoginGrid div.body h1 {
2266 margin: 0px;
2267}
2268
2269div.mainPanels div.directLoginGrid div.body div.rows {
2270 margin-left: 9px;
2271 margin-right: 6px;
2272 min-height: 582px;
2273 background: url(../images/old/main/blocks/directLoginGridStripes.png) 0 7px;
2274}
2275
2276div.mainPanels div.directLoginGrid div.body table.rows {
2277 display: block;
2278 width: 100%;
2279}
2280
2281div.mainPanels div.directLoginGrid div.body table.rows img {
2282 border: 0px;
2283}
2284
2285div.mainPanels div.directLoginGrid div.body table.rows tbody tr.even {
2286 background-color: #787666;
2287}
2288
2289div.mainPanels div.directLoginGrid div.body table.rows tbody tr.odd {
2290 background-color: #646351;
2291}
2292
2293div.mainPanels div.directLoginGrid div.body table.rows tbody tr.odd:hover {
2294 background-color: #d1d4c6;
2295}
2296
2297div.mainPanels div.directLoginGrid div.body table.rows tbody tr.even:hover {
2298 background-color: #d1d4c6;
2299}
2300
2301div.mainPanels div.directLoginGrid div.body table.rows tbody tr td {
2302 height: 23px;
2303 color: #e1e0d6;
2304 font-size: 10pt;
2305}
2306
2307div.mainPanels div.directLoginGrid div.body table.rows tbody tr:hover td {
2308 color: #777867;
2309}
2310
2311div.mainPanels div.directLoginGrid div.body table.rows tbody tr td.title {
2312 font-weight: bold;
2313}
2314
2315div.directLoginGrid div.body table.rows tbody tr a {
2316 color: #e1e0d6;
2317 text-decoration: none;
2318}
2319
2320div.directLoginGrid div.body table.rows tbody tr:hover a {
2321 color: #777867;
2322}
2323
2324div.directLogin_directLogin {
2325 display: inline-block;
2326 height: 19px;
2327 padding-left: 7px;
2328}
2329div.directLogin_directLogin div.directLogin_directLogin_body {
2330 display: inline-block;
2331 height: 19px;
2332 padding-right: 8px;
2333 background-position: left;
2334}
2335div.directLogin_directLogin div.directLogin_directLogin_body a {
2336 vertical-align: -14px;
2337}
2338div.directLogin_directLogin:hover {
2339 background: url(../images/old/directLink_background_left.png) no-repeat 0 0;
2340}
2341div.directLogin_directLogin:hover div.directLogin_directLogin_body {
2342 background: url(../images/old/directLink_background.png) right 0;
2343}
2344table.rows tbody tr td div.directLogin_directLogin:hover div.directLogin_directLogin_body a {
2345 color: #f3f4eb;
2346}
2347
2348div.directLoginGrid table.rows thead span {
2349 color: #e1e0d6;
2350}
2351div.directLoginGrid table.rows thead tr th {
2352 background-color: #787762;
2353 border-bottom: 1px solid #999883;
2354}
2355div.directLoginGrid table.rows thead tr th.faviconTH {
2356 min-width: 53px;
2357 width: 53px;
2358}
2359div.directLoginGrid table.rows thead tr th.titleTH {
2360 min-width: 250px;
2361 width: 250px;
2362}
2363div.directLoginGrid table.rows thead tr th.titleTH span {
2364 margin-left: 7px;
2365}
2366div.directLoginGrid table.rows thead tr th.strengthTH {
2367 width: 100px;
2368}
2369div.directLoginGrid table.rows thead tr th.cardTitleTH {
2370 width: 400px;
2371}
2372div.directLoginGrid table.rows thead tr th.bookmarkableLinkTH {
2373 width: 64px;
2374}
2375div.directLoginGrid table.rows thead tr th.deleteTH {
2376 width: 50px;
2377}
2378div.directLoginGrid table.rows thead tr th.latestAccessTH {
2379 width: 100px;
2380}
2381div.directLoginGrid table.rows thead tr th.commandsTH {
2382 width: 100px;
2383}
2384
2385div.directLoginGrid table.rows thead img {
2386 padding-left: 10px;
2387 vertical-align: middle;
2388}
2389div.directLoginGrid table.rows thead tr th.unsorted span.sortable a {
2390 background: url(../images/old/main/grid/directLogins/unsorted.png) no-repeat;
2391}
2392div.directLoginGrid table.rows thead tr th.descending span.sortable a {
2393 background: url(../images/old/main/grid/directLogins/descending.png) no-repeat;
2394}
2395div.directLoginGrid table.rows thead tr th.ascending span.sortable a {
2396 background: url(../images/old/main/grid/directLogins/ascending.png) no-repeat;
2397}
2398
2399div.subPanelTabs ul {
2400 margin: 0px;
2401 margin-right: 7px;
2402 padding: 0px;
2403}
2404div.subPanelTabs ul li {
2405 display: inline-block;
2406 vertical-align: middle;
2407 //width: 130px;
2408
2409 height: 50px;
2410 //border-right: 1px solid #a5a79c;
2411 //border-bottom: 1px solid #a5a79c;
2412
2413 border-right: 1px solid #eef0e3;
2414 border-bottom: 1px solid #d5d5bc;
2415}
2416div.subPanelTabs ul li.first:hover {
2417 //background: url(../images/old/main/blocks/otherPanelBackground_selected.png) no-repeat -9px -5px;
2418}
2419div.subPanelTabs ul li:hover {
2420 //background: url(../images/old/main/blocks/otherPanelBackground_selected.png) no-repeat -45px -5px;
2421
2422 border-right: 1px solid #d5d5bc;
2423 background-color: #eef0e3;
2424}
2425div.subPanelTabs ul li a {
2426 color: #787872;
2427 text-decoration: none;
2428 display: block;
2429 text-align: center;
2430 padding-top: 15px;
2431 padding-left: 20px;
2432 padding-right: 20px;
2433 font-size: 13pt;
2434}
2435div.subPanelTabs ul li.first {
2436 //background: url(../images/old/main/blocks/otherPanelBackground_selected.png) no-repeat -9px -5px;
2437
2438 -webkit-border-top-left-radius: 20px;
2439 -moz-border-radius-topleft: 20px;
2440 border-top-left-radius: 20px;
2441}
2442div.subPanelTabs ul li.selected {
2443 //background: url(../images/old/main/blocks/otherPanelBackground_selected.png) no-repeat -45px -5px;
2444
2445 background-color: #eef0e3;
2446 border-bottom: 1px solid #eef0e3;
2447 border-right: 1px solid #d5d5bc;
2448}
2449div.subPanelTabs ul li.selected:hover {
2450 border-right: 1px solid #d5d5bc;
2451}
2452div.subPanelTabs ul li.selected a {
2453 color: #444440;
2454}
2455div.subPanelContent {
2456 padding-top: 20px;
2457 padding-left: 30px;
2458 padding-right: 30px;
2459 min-height: 280px;
2460 color: #787872;
2461 margin: 0px 6px 0 9px;
2462}
2463div.subPanelContent ul {
2464 margin: 0px;
2465 padding: 0px;
2466 list-style-type: none;
2467}
2468div.subPanelContent ul li.selected {
2469 display: block;
2470}
2471div.subPanelContent ul li {
2472 display: none;
2473}
2474div.subPanelContent h3 {
2475 margin: 0px;
2476 border: 0px;
2477 padding: 0px;
2478}
2479
2480div.mainPanels div.otherPanel {
2481 margin: 5px 10px;
2482 background-color: #eef0e3;
2483 -webkit-border-radius: 20px;
2484 -moz-border-radius: 20px;
2485 border-radius: 20px;
2486 -webkit-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6);
2487 -moz-box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6);
2488 box-shadow: 2px 2px 9px rgba(0, 0, 0, 0.6);
2489}
2490div.mainPanels div.otherPanel div.header {
2491 //background: url(../images/old/main/blocks/otherPanelBackground.png) no-repeat;
2492 //height: 90px;
2493 background-color: #d5d5bc;
2494 //padding-left: 9px;
2495 //padding-top: 5px;
2496
2497 margin: 0px;
2498 margin-bottom: 0px;
2499 -webkit-border-top-left-radius: 20px;
2500 -webkit-border-top-right-radius: 20px;
2501 -moz-border-radius-topleft: 20px;
2502 -moz-border-radius-topright: 20px;
2503 border-top-left-radius: 20px;
2504 border-top-right-radius: 20px;
2505}
2506div.mainPanels div.otherPanel div.body {
2507 //background: url(../images/old/main/blocks/otherPanelBackground.png) repeat-y -836px;
2508
2509 margin: 0px;
2510 border: 0px;
2511 padding: 0px;
2512}
2513div.mainPanels div.otherPanel div.footer {
2514 //background: url(../images/old/main/blocks/otherPanelBackground.png) 834px -18px;
2515
2516 height: 45px;
2517}
2518div.mainPanels div.otherPanel div.body h1 {
2519 margin: 0px;
2520}
2521
2522form.changePassphrase div.currentCredentials, form.changePassphrase div.newPassphrase {
2523 float: left;
2524 padding: 10px 20px;
2525}
2526form.changePassphrase label {
2527 display: inline-block;
2528 width: 150px;
2529}
2530form.changePassphrase div.confirm {
2531 clear: both;
2532 padding: 10px 20px;
2533}
2534form.changePassphrase div.confirm label {
2535 width: 500px;
2536}
2537div.accountPanel h3.manageOTP {
2538 margin-top: 20px;
2539 margin-left: -20px;
2540 padding-top: 10px;
2541 padding-left: 20px;
2542 border-top: 1px solid #aaaaaa;
2543}
2544
2545div#modalDialogMask, div.modalDialogMask {
2546 z-index: 20000;
2547 //position: absolute;
2548
2549 position: fixed;
2550 top: 0;
2551 left: 0;
2552 -moz-opacity: 0.5;
2553 opacity: .50;
2554 filter: alpha(opacity=50);
2555 //background-color: #cccccc;
2556
2557 background-color: #000000;
2558 width: 100%;
2559 height: 100%;
2560 zoom: 1;
2561}
2562div#modalDialogFrame, div.modalDialogFrame {
2563 position: absolute;
2564 //border: 1px solid white;
2565
2566 -moz-opacity: 0.5;
2567 opacity: .50;
2568 filter: alpha(opacity=50);
2569 background-color: #333333;
2570 z-index: 20001;
2571 -webkit-border-radius: 20px;
2572 -moz-border-radius: 20px;
2573 border-radius: 20px;
2574}
2575div#modalDialog, div.modalDialog {
2576 z-index: 20001;
2577}
2578// div#modalDialog.scrollable,
2579div.modalDialog.scrollable {
2580 position: absolute;
2581 top: 0;
2582 left: 50%;
2583}
2584// div#modalDialog.fixed,
2585div.modalDialog.fixed {
2586 position: fixed;
2587 top: 40%;
2588 left: 50%;
2589}
2590div#modalDialog div, div.modalDialog div {
2591 z-index: 20002;
2592 list-style-type: circle;
2593}
2594div.modalDialogMask.simpleMessagePanelMask {
2595 z-index: 20010;
2596}
2597div.modalDialogFrame.simpleMessagePanelMask {
2598 z-index: 20011;
2599}
2600div.modalDialog.simpleMessagePanelMask {
2601 z-index: 20011;
2602}
2603div.modalDialog.simpleMessagePanelMask div {
2604 z-index: 20012;
2605}
2606
2607div.bookmarklet div.bookmarklet_link {
2608 //padding-top: 5px;
2609 //padding-left: 4px;
2610 //padding-right: 3px;
2611
2612 //float: right;
2613 //margin-top: 12px;
2614 //margin-right: 13px;
2615
2616 height: 34px;
2617}
2618div.bookmarklet div.bookmarklet_link a {
2619 color: #838975;
2620 text-decoration: none;
2621 font-weight: bold;
2622 font-size: 10pt;
2623
2624 //display: block;
2625 //text-align: right;
2626 //padding-top: 7px;
2627 //padding-right: 11px;
2628 //padding-bottom: 6px;
2629}
2630div.bookmarklet div.bookmarklet_link a div.icon {
2631 background: url(../images/old/bookmarklet/placeholder_icon.png) no-repeat 0 0;
2632 float: left;
2633 width: 34px;
2634 height: 34px;
2635}
2636div.bookmarklet div.bookmarklet_link a:hover div.icon {
2637 background: url(../images/old/bookmarklet/placeholder_selected_icon.png) no-repeat 0 0;
2638}
2639div.bookmarklet div.bookmarklet_link a div.text {
2640 display: block;
2641 float: right;
2642 background: url(../images/old/bookmarklet/placeholder.png) no-repeat right 0;
2643 white-space: nowrap;
2644 height: 34px;
2645}
2646div.bookmarklet div.bookmarklet_link a:hover div.text {
2647 background: url(../images/old/bookmarklet/placeholder_selected.png) no-repeat right 0;
2648}
2649div.bookmarklet div.bookmarklet_link a div.text span {
2650 display: block;
2651 padding-top: 10px;
2652 padding-right: 10px;
2653 padding-left: 6px;
2654 clear: both;
2655}
2656
2657div.tooltip {
2658 position: absolute;
2659 z-index: 30001;
2660}
2661div.tooltip div.tooltip_body {
2662 position: absolute;
2663}
2664div.tooltip div.tooltip_arrow {
2665 position: absolute;
2666}
2667div.tooltip.BELOW div.tooltip_arrow {
2668 background: url(../images/old/tooltips/top_arrow.png) no-repeat;
2669}
2670div.tooltip.ABOVE div.tooltip_arrow {
2671 background: url(../images/old/tooltips/bottom_arrow.png) no-repeat;
2672}
2673div.tooltip.LEFT div.tooltip_arrow {
2674 background: url(../images/old/tooltips/right_arrow.png) no-repeat;
2675}
2676div.tooltip.RIGHT div.tooltip_arrow {
2677 //margin-top: 7px;
2678
2679 background: url(../images/old/tooltips/left_arrow.png) no-repeat;
2680}
2681div.tooltip.RIGHT div.tooltip_body {
2682 //padding-left: 13px;
2683
2684}
2685div.tooltip div.tooltip_body div.tooltip_text {
2686 width: 171px;
2687 background: url(../images/old/tooltips/body.png) no-repeat center top;
2688}
2689div.tooltip.LEFT div.tooltip_body div.tooltip_text, div.tooltip.RIGHT div.tooltip_body div.tooltip_text {
2690 min-height: 45px;
2691}
2692div.tooltip div.tooltip_body span {
2693 display: block;
2694 padding: 10px;
2695 padding-bottom: 4px;
2696 font-size: 10pt;
2697 color: white;
2698}
2699div.tooltip div.tooltip_footer {
2700 height: 7px;
2701 background: url(../images/old/tooltips/body_bottom.png) no-repeat;
2702}
2703
2704// ---------------------------------------
2705
2706
2707div.mainDialog {
2708 position: relative;
2709 left: -263px;
2710 width: 525px;
2711 height: 325px;
2712}
2713div.scrollable div.mainDialog {
2714 top: 0px;
2715}
2716div.fixed div.mainDialog {
2717 top: -118px;
2718}
2719div.mainDialog div.header {
2720 height: 55px;
2721 background: url(../images/old/cardDialog/background_header.png) no-repeat;
2722}
2723div.mainDialog div.header div.title {
2724 padding-top: 16px;
2725 padding-left: 20px;
2726 padding-right: 20px;
2727}
2728div.mainDialog div.header div.title input {
2729 width: 100%;
2730 display: block;
2731 font-size: 16pt;
2732 margin: 0px;
2733 border: 0px;
2734 padding: 3px 10px;
2735 color: #787872;
2736 border: 1px solid #cccec0;
2737 background-color: #cccec0;
2738}
2739div.mainDialog div.header div.title h3 {
2740 display: block;
2741 font-size: 16pt;
2742 color: #787872;
2743 margin: 0px;
2744 border: 0px;
2745 padding: 3px 10px;
2746}
2747div.mainDialog div.header div.title.selectedField input, div.mainDialog div.header div.title:hover input {
2748 border: 1px solid #515247;
2749 background-color: #b5b7ab;
2750}
2751div.mainDialog div.header div.title.disabled:hover input {
2752 border: 1px solid #cccec0;
2753 background-color: #cccec0;
2754}
2755div.mainDialog div.body {
2756 padding-top: 0px;
2757 padding-left: 10px;
2758 padding-right: 9px;
2759 min-height: 200px;
2760 background: url(../images/old/cardDialog/background_body.png) repeat-y;
2761}
2762div.mainDialog div.body div.mask {
2763 display: none;
2764}
2765div.mainDialog.loading div.body div.mask {
2766 display: block;
2767 position: absolute;
2768 top: 55px;
2769 left: 10px;
2770 right: 9px;
2771 bottom: 70px;
2772 z-index: 1001;
2773 background-color: white;
2774 padding-left: 146px;
2775 padding-right: 146px;
2776 padding-top: 70px;
2777}
2778div.mainDialog.loading div.body .tabPanels {
2779 display: none;
2780}
2781div.mainDialog.loading div.body div.mask h3.progressDescription {
2782 margin: 0px;
2783 text-align: center;
2784 padding-bottom: 10px;
2785 color: #cccec0;
2786 font-size: 14pt;
2787 font-weight: normal;
2788}
2789div.loadingBar {
2790 height: 22px;
2791 width: 214px;
2792 background: url(../images/old/loading/loadingBar.gif) no-repeat center top;
2793}
2794div.loadingBar div.loadingBarProgressBox {
2795 padding: 2px;
2796}
2797div.loadingBar div.loadingBarProgress {
2798 height: 18px;
2799 width: 0%;
2800 //background-repeat: no-repeat;
2801
2802 background-color: rgba(248, 79, 0, 0.6);
2803 -webkit-border-radius: 9px;
2804 -moz-border-radius: 9px;
2805 border-radius: 9px;
2806}
2807
2808div.mainDialog div.body div ul {
2809 padding: 0px;
2810 clear: both;
2811 margin: 0px;
2812 list-style-type: none;
2813}
2814div.mainDialog div.body div.tabs {
2815 height: 20px;
2816}
2817div.mainDialog div.body div.tabs ul.tabs {
2818 height: 33px;
2819 //border-bottom: 1px solid #515247;
2820 //background: #cccec0 url(../images/old/cardDialog/tabs_shadow.png) repeat-x 0 -5px;
2821
2822 background: url(../images/old/cardDialog/tabs_background.png) repeat-x;
2823}
2824div.mainDialog div.body div.tabs ul.tabs li {
2825 //width: 150px;
2826
2827 height: 32px;
2828 font-size: 11pt;
2829 text-align: center;
2830 border-right: 1px solid #515247;
2831 float: left;
2832 color: #787872;
2833 border-bottom: 1px solid #515247;
2834 background: #cccec0 url(../images/old/cardDialog/tabs_shadow.png) repeat-x 0 -5px;
2835 cursor: pointer;
2836}
2837div.mainDialog div.body div.tabs ul.tabs li div {
2838 display: none;
2839}
2840div.mainDialog div.body div.tabs ul.tabs li span {
2841 display: block;
2842 padding-top: 9px;
2843 padding-bottom: 6px;
2844 padding-left: 40px;
2845 padding-right: 40px;
2846}
2847div.mainDialog div.body div.tabs ul.tabs li:hover {
2848 color: #515247;
2849}
2850div.mainDialog div.body div.tabs ul.tabs li.disabled:hover {
2851 color: #787872;
2852 cursor: default;
2853}
2854div.mainDialog div.body div.tabs ul.tabs li.selected {
2855 color: #515247;
2856 background-color: #f1f2e9;
2857 border-bottom: 1px solid #f1f2e9;
2858 cursor: default;
2859}
2860div.mainDialog div.body div.tabs ul.tabs li.selected.disabled:hover {
2861 color: #515247;
2862}
2863div.mainDialog div.body div.tabs ul.tabs li.selected div.backToDirectLoginList {
2864 position: absolute;
2865 display: block;
2866 top: 63px;
2867 left: 140;
2868 width: 20px;
2869}
2870div.mainDialog div.body div.tabs ul.tabs li.selected div.addDirectLoginButton {
2871 position: absolute;
2872 display: block;
2873 top: 63px;
2874 left: 265px;
2875 width: 20px;
2876}
2877div.mainDialog div.body div.tabs ul.tabs li.selected div span {
2878 padding: 0px;
2879 margin: 0px;
2880}
2881div.mainDialog div.body div.tabs ul.tabs li.selected div:hover {
2882 cursor: pointer;
2883}
2884div.mainDialog div.body .tabPanels {
2885 clear: both;
2886}
2887div.mainDialog div.body ul.tabPanels li.tabPanel {
2888 display: none;
2889}
2890div.mainDialog div.body ul.tabPanels li.tabPanel.selected {
2891 display: block;
2892}
2893div.mainDialog div.body ul.tabPanels li.tabPanel.selected h2 {
2894 margin: 0px;
2895 text-align: center;
2896 padding-top: 50px;
2897 color: #787872;
2898}
2899div.mainDialog div.body ul.tabPanels li.tabPanel.selected div.wizardStepDescription {
2900 margin: 0px 20px 10px;
2901 font-size: 10pt;
2902 color: b0b0b0;
2903 font-style: italic;
2904 text-align: center;
2905}
2906div.mainDialog div.footer {
2907 height: 70px;
2908 background: url(../images/old/cardDialog/background_footer.png) no-repeat 0 -14px;
2909}
2910div.mainDialog div.footer div.buttonArea {
2911 padding-left: 40px;
2912 padding-right: 40px;
2913 padding-top: 15px;
2914}
2915div.mainDialog div.footer div.buttonArea div {
2916 padding-left: 20px;
2917 padding-right: 20px;
2918 float: left;
2919 font-weight: bold;
2920 color: #787872;
2921}
2922div.mainDialog div.footer div.buttonArea div.disabled {
2923 color: #b1b1a8;
2924}
2925div.mainDialog div.footer div.buttonArea div.disabled:hover {
2926 color: #b1b1a8;
2927 cursor: default;
2928}
2929div.mainDialog div.footer div.buttonArea div:hover {
2930 color: #515247;
2931 cursor: pointer;
2932}
2933div.mainDialog div.footer div.buttonArea div.save {
2934 float: right;
2935}
2936
2937div.addDirectLoginButton {
2938 height: 20px;
2939 width: 20px;
2940 background: url(../images/old/cardDialog/addDirectLogin_disabled_background.png) no-repeat -9px -9px;
2941 color: white;
2942 font-weight: bold;
2943}
2944div.addDirectLoginButton span {
2945 display: block;
2946 height: 20px;
2947 width: 20px;
2948}
2949div.addDirectLoginButton:hover {
2950 background: url(../images/old/cardDialog/addDirectLogin_background.png) no-repeat -9px -9px;
2951}
2952
2953div.directLoginsComponentContainer {
2954 overflow: hidden;
2955 //background-color: green;
2956
2957}
2958div.CardDialog div.directLogins {
2959 //background-color: yellow;
2960
2961 padding-top: 2px;
2962}
2963div.CardDialog div.addNewDirectLoginSplash {
2964 margin: 0px 80px;
2965}
2966div.CardDialog div.addNewDirectLoginSplash h3 {
2967 color: #aaaaaa;
2968 text-align: center;
2969 font-weight: normal;
2970 font-size: 11pt;
2971}
2972div.CardDialog div.addNewDirectLoginSplash a {
2973 display: block;
2974 text-decoration: none;
2975 margin-left: auto;
2976 margin-right: auto;
2977 width: 190px;
2978 //color: #787878;
2979
2980 color: rgba(255, 98, 6, 0.75);
2981 text-transform: uppercase;
2982 background: url(../images/old/cardDialog/addDirectLogin_disabled_background.png) no-repeat right;
2983}
2984div.CardDialog div.addNewDirectLoginSplash a span {
2985 text-align: center;
2986}
2987div.CardDialog div.addNewDirectLoginSplash a:hover {
2988 color: #ff6206;
2989 background: url(../images/old/cardDialog/addDirectLogin_background.png) no-repeat right;
2990}
2991div.CardDialog div.directLoginItem {
2992 clear: both;
2993 min-height: 32px;
2994 padding-left: 10px;
2995 padding-top: 4px;
2996 padding-bottom: 2px;
2997 //width: 100px;
2998
2999 max-height: 32px;
3000 overflow: hidden;
3001}
3002div.CardDialog div.directLoginItem:hover {
3003 background-color: #cccec0;
3004}
3005div.CardDialog div.addDirectLoginListItem {
3006 min-height: 32px;
3007 padding-left: 10px;
3008 padding-top: 4px;
3009 padding-bottom: 2px;
3010 max-height: 32px;
3011 overflow: hidden;
3012 background: url(../images/old/cardDialog/addDirectLogin_disabled_background.png) no-repeat 22px 0;
3013}
3014div.CardDialog div.addDirectLoginListItem a {
3015 display: block;
3016 font-size: 11pt;
3017 padding-top: 6px;
3018 padding-left: 50px;
3019 color: rgba(255, 98, 6, 0.75);
3020 text-decoration: none;
3021 text-transform: uppercase;
3022}
3023div.CardDialog div.addDirectLoginListItem:hover {
3024 background: url(../images/old/cardDialog/addDirectLogin_background.png) no-repeat 22px 0;
3025 color: #ff6206;
3026 background-color: #cccec0;
3027}
3028div.CardDialog div.directLoginItem div.cardDialogRecordDirectLoginComponent_favicon img.favicon {
3029 width: 32px;
3030 height: 32px;
3031 float: left;
3032}
3033div.CardDialog div.directLoginItem div.cardDialogRecordDirectLoginComponent_label input {
3034 float: left;
3035 font-size: 11pt;
3036 border: 0px;
3037 padding: 5px;
3038 color: #787872;
3039 border: 1px solid #ededeb;
3040 background-color: #ededeb;
3041 height: 30px;
3042 margin-left: 10px;
3043 width: 68%;
3044 margin-right: 5px;
3045}
3046div.CardDialog div.directLoginItem:hover div.cardDialogRecordDirectLoginComponent_label input {
3047 border: 1px solid #515247;
3048 background-color: #b5b7ab;
3049}
3050div.CardDialog div.directLoginItem > div.open {
3051 float: left;
3052 margin-top: 5px;
3053 margin-right: 2px;
3054 padding-left: 5px;
3055 visibility: hidden;
3056}
3057div.CardDialog div.directLoginItem > div.edit, div.CardDialog div.directLoginItem > div.delete {
3058 float: left;
3059 margin-top: 5px;
3060 margin-left: 3px;
3061 padding-left: 5px;
3062 visibility: hidden;
3063}
3064div.CardDialog div.directLoginItem > div.open a {
3065 display: block;
3066 width: 22px;
3067 height: 22px;
3068 background: url(../images/old/cardDialog/openDirectLogin.png) no-repeat 0 -2px;
3069}
3070div.CardDialog div.directLoginItem > div.open a:hover {
3071 background: url(../images/old/cardDialog/openDirectLogin_selected.png) no-repeat 0 -2px;
3072}
3073div.CardDialog div.directLoginItem:hover > div.open, div.CardDialog div.directLoginItem:hover > div.edit, div.CardDialog div.directLoginItem:hover > div.delete {
3074 visibility: visible;
3075}
3076div.CardDialog div.directLoginItem div.edit span {
3077 padding-right: 6px;
3078 display: block;
3079}
3080div.CardDialog div.directLoginItem div.open span a, div.CardDialog div.directLoginItem div.edit span a, div.CardDialog div.directLoginItem div.delete span a {
3081 font-size: 8pt;
3082 color: #666666;
3083 text-decoration: none;
3084 line-height: 19px;
3085}
3086div.CardDialog div.directLoginItem div.edit:hover {
3087 background: url(../images/old/new_background_left.png) no-repeat;
3088}
3089div.CardDialog div.directLoginItem div:hover span a {
3090 color: white;
3091}
3092div.CardDialog div.directLoginItem div.edit:hover span {
3093 background: url(../images/old/new_background.png) no-repeat right center;
3094}
3095div.CardDialog div.directLoginItem div.delete:hover {
3096 background: url(../images/old/delete_background_left.png) no-repeat;
3097}
3098div.CardDialog div.directLoginItem div.delete:hover span {
3099 background: url(../images/old/delete_background.png) right;
3100}
3101div.CardDialog div.directLoginEditDetail {
3102 position: relative;
3103 //background-color: red;
3104
3105}
3106
3107form.directLoginEditingForm div.title, form.directLoginEditingForm div.favicon {
3108 padding: 5px 10px;
3109}
3110form.directLoginEditingForm div.title.disabled:hover {
3111 background-color: #f1f2e9;
3112}
3113form.directLoginEditingForm div.title:hover, form.directLoginEditingForm div.favicon:hover {
3114 background-color: #cccec0;
3115}
3116form.directLoginEditingForm div.title input {
3117 //width: 100%;
3118
3119 margin: 0px;
3120 margin-left: 10px;
3121 width: 440px;
3122}
3123form.directLoginEditingForm div.favicon {
3124 padding-left: 10px;
3125}
3126// form.directLoginEditingForm div.favicon img.favicon {
3127form.directLoginEditingForm img.favicon {
3128 float: left;
3129 width: 32px;
3130 height: 32px;
3131}
3132form.directLoginEditingForm div.favicon input {
3133 margin-top: 1px;
3134 width: 465px;
3135}
3136form.directLoginEditingForm div.disabled:hover input, form.directLoginEditingForm div input {
3137 font-size: 11pt;
3138 border: 0px;
3139 padding: 5px;
3140 color: #787872;
3141 border: 1px solid #ededeb;
3142 background-color: #ededeb;
3143 height: 30px;
3144}
3145form.directLoginEditingForm div:hover input {
3146 border: 1px solid #515247;
3147 background-color: #b5b7ab;
3148}
3149
3150div.bindings div.binding > span.formFieldName {
3151 display: inline-block;
3152 width: 140px;
3153 overflow: hidden;
3154 margin-right: 10px;
3155 color: #6b5147;
3156 text-overflow: ellipsis;
3157}
3158div.bindings div.binding {
3159 padding-bottom: 3px;
3160}
3161div.bindings div.binding > input {
3162 margin-right: 10px;
3163 background: #cccec0;
3164 width: 150px;
3165 border: 1px solid #cccec0;
3166}
3167div.bindings div.binding:hover > input {
3168 border: 1px solid #cccec0;
3169}
3170div.bindings div.binding > select {
3171 font-size: 13pt;
3172}
3173div.bindings div.binding span.fieldLock {
3174 display: inline-block;
3175 width: 20px;
3176 height: 20px;
3177 margin-right: 3px;
3178}
3179div.bindings div.binding.showLocked input {
3180 background: url(../images/old/cardDialog/password_background.png) no-repeat 2px 3px;
3181 //color: black;
3182
3183 overflow: hidden;
3184 background: #cccec0 url(../images/old/cardDialog/password_background.png) no-repeat 2px 3px;
3185 color: rgba(237, 237, 235, 0.1);
3186}
3187div.bindings div.binding span.fieldLock a {
3188 display: none;
3189}
3190div.bindings div.binding.locked span.fieldLock a {
3191 display: block;
3192 width: 20px;
3193 height: 20px;
3194 text-decoration: none;
3195 background-image: url(../images/old/cardDialog/lock_open.png);
3196} 1970}
3197div.bindings div.binding.locked.showLocked span.fieldLock a { 1971div.sidePanels div.tabSidePanel {
3198 background-image: url(../images/old/cardDialog/lock_closed.png); 1972 margin-right: -10px;
3199 text-decoration: none;
3200} 1973}
3201 1974div.sidePanels div.tabSidePanel ul {
3202div.formValues { 1975 margin: 0px;
3203 padding-top: 15px; 1976 padding-left: 0px;
1977 list-style-type: none;
1978 color: #f78b46;
3204} 1979}
3205div.formValues div.formValue div { 1980div.sidePanels div.tabSidePanel ul.mainTabs {
3206 margin: 0px; 1981 margin: 0px;
3207 display: inline-block;
3208} 1982}
3209div.formValues div.formValue > span.formFieldName { 1983div.sidePanels div.tabSidePanel ul.mainTabs li a {
3210 display: inline-table; 1984 display: block;
3211 width: 160px; 1985 line-height: 30px;
3212 overflow: hidden; 1986 height: 43px;
3213 margin-right: 10px; 1987 padding-left: 40px;
3214 color: #6b5147; 1988 color: #ff6621;
1989 margin: 0px;
1990 font-weight: normal;
1991 font-size: 13pt;
1992 text-decoration: none;
3215} 1993}
3216 1994div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter {
3217div.directLoginEditing { 1995 display: none;
3218 padding-top: 2px;
3219} 1996}
3220div.directLoginEditing div.tabContainer { 1997div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add {
3221 min-height: 150px; 1998 font-size: 14pt;
3222 height: 200px; 1999 font-weight: bold;
2000 position: relative;
2001 top: -34px;
2002 right: 16px;
2003 background: none;
2004 color: #c0531b;
2005 padding-left: 15px;
3223} 2006}
3224div.directLoginEditing div.tabContainer > ul.tabs { 2007div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add:hover {
3225 display: none; 2008 color: white;
3226} 2009}
3227 2010div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add span {
3228div.directLoginEditing li { 2011 font-size: 8pt;
3229 padding: 10px; 2012 vertical-align: middle;
3230} 2013}
3231div.directLoginEditing li.configuration > .bookmarkletConfigurationWrapper > textarea { 2014div.sidePanels div.tabSidePanel ul.mainTabs li div.selectionHighlighter a.add h3 {
3232 float: left; 2015 display: inline;
3233 width: 320px; 2016 padding-left: 5px;
3234 height: 125px;
3235 font-family: monospace;
3236 font-weight: normal;
3237 font-size: 8pt;
3238 border: 1px solid #ccc;
3239} 2017}
3240div.directLoginEditing li.configuration > .bookmarkletConfigurationWrapper .bookmarkletComponent { 2018div.sidePanels div.tabSidePanel ul.mainTabs li.selected div.selectionHighlighter {
3241 float: right; 2019 display: block;
2020 position: absolute;
2021 left: 154px;
2022 margin-top: -43px;
3242} 2023}
3243div.directLoginEditing li.configuration > textarea.error { 2024div.sidePanels div.tabSidePanel ul.mainTabs li.cards a {
3244 border: 1px solid red; 2025 background: url(../images/old/main/tabs/cardsBackground.png) -19px -63px;
3245 background-color: rgba(255, 0, 0, 0.1);
3246} 2026}
3247 2027div.sidePanels div.tabSidePanel ul.mainTabs li.cards a:hover {
3248div.CardDialog div.body { 2028 background: url(../images/old/main/tabs/cardsBackground.png) -19px -110px;
3249 padding-bottom: 1px;
3250} 2029}
3251div.CardDialog div.body table.fields { 2030div.sidePanels div.tabSidePanel ul.mainTabs li.cards.selected a {
3252 width: 100%; 2031 margin-left: -10px;
3253 padding-top: 8px; 2032 padding-left: 50px;
3254 padding-bottom: 1px; 2033 color: white;
2034 background: url(../images/old/main/tabs/cardsBackground.png) -9px -14px;
3255} 2035}
3256div.CardDialog div.body table.fields thead { 2036div.sidePanels div.tabSidePanel ul.mainTabs li.cards.selected a:hover {
3257 background: url(../images/old/cardDialog/dottedLine_background.png) repeat-x 0 15px; 2037 background: url(../images/old/main/tabs/cardsBackground.png) -9px -14px;
3258} 2038}
3259div.CardDialog div.body table.fields tfoot { 2039div.sidePanels div.tabSidePanel ul.mainTabs li.directLogins a {
3260 background: url(../images/old/cardDialog/dottedLine_background.png) repeat-x 0 bottom; 2040 background: url(../images/old/main/tabs/directLoginBackground.png) -19px -63px;
3261} 2041}
3262div.CardDialog div.body table.fields thead th { 2042div.sidePanels div.tabSidePanel ul.mainTabs li.directLogins a:hover {
3263 text-align: left; 2043 background: url(../images/old/main/tabs/directLoginBackground.png) -19px -110px;
3264 font-weight: normal;
3265 font-size: 9pt;
3266 color: #787872;
3267 padding-left: 10px;
3268 padding-bottom: 3px;
3269 //border-bottom: 1px dotted;
3270} 2044}
3271div.CardDialog div.body table.fields thead th.fieldStateTH { 2045div.sidePanels div.tabSidePanel ul.mainTabs li.directLogins.selected a {
3272 width: 10px; 2046 margin-left: -10px;
2047 padding-left: 50px;
2048 color: white;
2049 background: url(../images/old/main/tabs/directLoginBackground.png) -9px -14px;
3273} 2050}
3274div.CardDialog div.body table.fields tbody td.fieldLabel input { 2051div.sidePanels div.tabSidePanel ul.mainTabs li.directLogins.selected a:hover {
3275 width: 130px; 2052 color: white;
2053 background: url(../images/old/main/tabs/directLoginBackground.png) -9px -14px;
3276} 2054}
3277div.CardDialog div.body table.fields thead th.fieldLockTH { 2055div.sidePanels div.tabSidePanel ul.otherTabs {
3278 width: 10px; 2056 margin: 10px 0px;
3279} 2057}
3280div.CardDialog div.body table.fields tbody td.fieldValue input { 2058div.sidePanels div.tabSidePanel ul.otherTabs li {
3281 width: 280px; 2059 margin-top: -4px;
3282} 2060}
3283div.CardDialog div.body table.fields thead th.fieldActionTH { 2061div.sidePanels div.tabSidePanel ul.otherTabs li div.selectionHighlighter {
3284 width: 30px; 2062 display: none;
3285} 2063}
3286div.CardDialog div.body table.fields thead th.fieldDeleteTH { 2064div.sidePanels div.tabSidePanel ul.otherTabs li a {
3287 width: 40px; 2065 display: block;
2066 line-height: 36px;
2067 height: 43px;
2068 padding-left: 40px;
2069 color: #ff6621;
2070 text-decoration: none;
3288} 2071}
3289div.CardDialog div.body table.fields tbody tr:hover, div.CardDialog div.body table.fields tbody tr.selectedField { 2072div.sidePanels div.tabSidePanel ul.otherTabs li a:hover {
3290 background-color: #cccec0; 2073 background: url(../images/old/main/tabs/itemsBackground.png) -10px -49px;
3291} 2074}
3292div.CardDialog div.body table.fields tbody tr td { 2075div.sidePanels div.tabSidePanel ul.otherTabs li.selected a {
3293 font-size: 11pt; 2076 margin-left: -10px;
3294 color: #787872; 2077 padding-left: 50px;
3295 height: 35px; 2078 background: url(../images/old/main/tabs/itemsBackground.png) 1px -96px;
2079 color: white;
3296} 2080}
3297div.CardDialog div.body table.fields tbody tr td input { 2081div.sidePanels div.tabSidePanel ul.otherTabs li.selected div.selectionHighlighter {
3298 font-size: 11pt; 2082 display: block;
3299 border: 0px; 2083 position: absolute;
3300 padding: 5px; 2084 left: 154px;
3301 color: #787872; 2085 margin-top: -42px;
3302 border: 1px solid #ededeb;
3303 background-color: #ededeb;
3304 height: 30px;
3305} 2086}
2087div.tagSidePanel {
2088 /*
2089 margin-right: -8px;
3306 2090
3307div.CardDialog div.body table.fields tbody tr td.fieldValue div.locked input { 2091 div.tagSidePanel div.header {
3308 background: #ededeb url(../images/old/cardDialog/password_background.png) no-repeat 2px 3px; 2092 height: 50px;
3309 color: #ededeb; 2093 background-image: url(../images/old/main/tabs/tagsBackground.png);
3310 color: rgba(237, 237, 235, 0.1); 2094 }
3311 //color: black; 2095 div.tagSidePanel div.header h1 {
3312 //line-height: 100px; 2096 padding-left: 52px;
3313 2097 padding-top: 14px;
3314 overflow: hidden; 2098 font-size: 14pt;
3315} 2099 font-weight: normal;
3316div.locked input.value::-moz-selection { 2100 color: #888888;
3317 background: #ff0000; 2101 }
3318} 2102 div.tagSidePanel div.body {
3319div.locked input.value::selection { 2103 background: url(../images/old/main/tabs/tagsBackground.png) -255px;
3320 background: #ff0000; 2104 }
3321} 2105 div.tagSidePanel div.footer {
3322div.CardDialog div.body table.fields tbody tr.new.selectedField td input, 2106 height: 10px;
3323div.CardDialog div.body table.fields tbody tr.new:hover td input, 2107 background: url(../images/old/main/tabs/tagsBackground.png) -510px -40px;
3324div.CardDialog div.body table.fields tbody tr:hover td input, 2108 }
3325div.CardDialog div.body table.fields tbody tr.selectedField td input { 2109 div.tagSidePanel ul.tags {
3326 border: 1px solid #515247; 2110 margin: 0px;
3327 background-color: #b5b7ab; 2111 list-style-type: none;
3328} 2112 padding: 0px;
3329div.CardDialog div.body table.fields tbody tr:hover td.fieldValue div.locked input, div.CardDialog div.body table.fields tbody tr.selectedField td.fieldValue div.locked input { 2113 }
3330 background: #b5b7ab url(../images/old/cardDialog/password_background.png) no-repeat 2px 3px; 2114 div.tagSidePanel ul.tags li a {
3331 color: #b5b7ab; 2115 display: block;
3332 color: rgba(237, 237, 235, 0.1); 2116 font-size: 9pt;
3333} 2117 text-decoration: none;
3334div.CardDialog div.body table.fields tbody td.fieldLock div { 2118 color: #ff6621;
3335 width: 20px; 2119 padding: 0px 4px 0px 15px;
3336 height: 19px; 2120 line-height: 20px;
3337 cursor: pointer; 2121 }
3338} 2122 div.tagSidePanel ul.tags li a:hover {
3339div.CardDialog div.body table.fields tbody tr:hover td.fieldLock div.locked { 2123 background-color: #dddddd;
3340 background-image: url(../images/old/cardDialog/lock_closed.png); 2124 }
3341} 2125 div.tagSidePanel ul.tags li span.tagCardinality {
3342div.CardDialog div.body table.fields tbody tr:hover td.fieldLock div.unlocked { 2126 float: right;
3343 background-image: url(../images/old/cardDialog/lock_open.png); 2127 font-size: 8pt;
3344} 2128 color: #999999;
3345div.CardDialog div.body table.fields tbody tr td.fieldAddDelete div span a { 2129 margin-right: 15px;
3346 text-decoration: none; 2130 margin-top: -17px;
3347 visibility: hidden; 2131 }
3348 font-size: 8pt; 2132 div.tagSidePanel ul.tags li.selected a {
3349 vertical-align: -13px; 2133 background-color: #d4d5cf;
3350 color: black; 2134 }
3351} 2135 div.tagSidePanel ul.tags li.selected a:hover {
3352div.CardDialog div.body table.fields tbody tr.selectedField td.fieldAddDelete div span a { 2136 background-color: #d4d5cf;
3353 visibility: visible; 2137 }
3354} 2138 div.tagSidePanel ul.tags li.selected a {
3355div.CardDialog div.body table.fields tbody tr:hover td.fieldAddDelete div span a { 2139 font-weight: bold;
3356 visibility: visible; 2140 }
3357} 2141*/
3358div.CardDialog div.body table.fields tbody tr:hover td.fieldAddDelete div:hover span a {
3359 color: white;
3360}
3361div.CardDialog div.body div.notes {
3362 background: url(../images/old/cardDialog/dottedLine_background.png) repeat-x 0 0;
3363 padding-top: 2px;
3364}
3365div.CardDialog div.body div.notes div {
3366 padding-left: 20px;
3367 padding-right: 20px;
3368 padding-top: 4px;
3369 padding-bottom: 4px;
3370}
3371div.CardDialog div.body div.notes div:hover, div.CardDialog div.body div.notes.selectedField div {
3372 background-color: #cccec0;
3373}
3374div.CardDialog.loading div.body div.notes div textarea {
3375 display: none;
3376}
3377div.CardDialog div.body div.notes div textarea {
3378 border: 0;
3379 width: 470px;
3380 //width: 100%;
3381 //height: 100px;
3382 // min-height: 400px;
3383 //overflow: hidden;
3384
3385 color: #787872;
3386 border: 1px solid #ededeb;
3387 background-color: #ededeb;
3388 display: block;
3389 line-height: 12pt;
3390 min-height: 50px;
3391}
3392div.CardDialog div.body div.notes div:hover textarea, div.CardDialog div.body div.notes.selectedField div textarea {
3393 border: 1px solid #515247;
3394 background-color: #b5b7ab;
3395}
3396div.CardDialog div.body table.fields tbody tr td.fieldAction {
3397 //background-color: red;
3398
3399 padding-left: 4px;
3400}
3401div.CardDialog div.body table.fields tbody tr td.fieldAction a {
3402 display: inline-block;
3403 text-decoration: none;
3404 text-align: center;
3405 width: 16px;
3406 height: 16px;
3407}
3408div.CardDialog div.body table.fields tbody tr td.fieldAction a.email {
3409 background: url(../images/old/cardDialog/fieldTypes/email.png) no-repeat 0 0;
3410}
3411div.CardDialog div.body table.fields tbody tr td.fieldAction a.email:hover {
3412 background: url(../images/old/cardDialog/fieldTypes/email_selected.png) no-repeat 0 0;
3413}
3414div.CardDialog div.body table.fields tbody tr td.fieldAction a.url {
3415 background: url(../images/old/cardDialog/fieldTypes/url.png) no-repeat 0 0;
3416}
3417div.CardDialog div.body table.fields tbody tr td.fieldAction a.url:hover {
3418 background: url(../images/old/cardDialog/fieldTypes/url_selected.png) no-repeat 0 0;
3419}
3420div.CardDialog div.body table.fields tbody tr td.fieldAction a.password {
3421 background: url(../images/old/cardDialog/fieldTypes/password.png) no-repeat 0 0;
3422}
3423div.CardDialog div.body table.fields tbody tr td.fieldAction a.password:hover {
3424 background: url(../images/old/cardDialog/fieldTypes/password_selected.png) no-repeat 0 0;
3425}
3426div#disabledZone {
3427 display: block;
3428 visibility: visible;
3429}
3430div#messageZone {
3431 display: block;
3432 visibility: visible;
3433}
3434div.CardDialog div.error div.img {
3435 margin: 10px;
3436 width: 50px;
3437 height: 50px;
3438 float: left;
3439 background-image: url(../images/old/simpleMessageBox/Alert.png);
3440}
3441div.rulerWrapper {
3442 left: -1000px;
3443 margin-top: -30px;
3444 margin-left: 50%;
3445 z-index: 25000;
3446}
3447div.rulerWrapper.fixed {
3448 position: fixed;
3449}
3450div.rulerWrapper.scrollable {
3451 position: absolute;
3452} 2142}
3453div.ruler { 2143div.groupSidePanel {
3454 //position: absolute; 2144 /*
3455 2145 margin-right: -10px;
3456 width: 541px;
3457 height: 96px;
3458 margin-left: -270px;
3459 background: url(../images/old/ruler/ruler.png) no-repeat;
3460}
3461div.ruler a {
3462 position: absolute;
3463 display: block;
3464 width: 15px;
3465 height: 15px;
3466 top: 3px;
3467 text-decoration: none;
3468}
3469div.ruler a.exit {
3470 margin-left: 2px;
3471 background: url(../images/old/ruler/exit.png) no-repeat;
3472}
3473div.ruler a.exit:hover {
3474 background: url(../images/old/ruler/exit_selected.png) no-repeat;
3475}
3476div.ruler a.smallButton.previous {
3477 right: 16px;
3478 background: url(../images/old/ruler/small_previous.png) no-repeat;
3479}
3480div.ruler a.smallButton.previous:hover {
3481 cursor: pointer;
3482 background: url(../images/old/ruler/small_previous_selected.png) no-repeat;
3483}
3484div.ruler a.smallButton.previous.disabled, div.ruler a.smallButton.previous.disabled:hover {
3485 cursor: default;
3486 background: url(../images/old/ruler/small_previous_disabled.png) no-repeat;
3487}
3488div.ruler a.smallButton.next {
3489 right: 3px;
3490 background: url(../images/old/ruler/small_next.png) no-repeat;
3491}
3492div.ruler a.smallButton.next:hover {
3493 cursor: pointer;
3494 background: url(../images/old/ruler/small_next_selected.png) no-repeat;
3495}
3496div.ruler a.smallButton.next.disabled, div.ruler a.smallButton.next.disabled:hover {
3497 cursor: default;
3498 background: url(../images/old/ruler/small_next_disabled.png) no-repeat;
3499}
3500div.ruler div.steps, div.ruler div.dots {
3501 position: absolute;
3502 background-color: rgba(255, 255, 255, 0);
3503 margin-left: 30px;
3504 margin-right: 30px;
3505}
3506div.ruler div.steps {
3507 top: 25px;
3508 height: 30px;
3509}
3510div.ruler div.dots {
3511 top: 58px;
3512 height: 25px;
3513}
3514div.ruler div ul {
3515 list-style-type: none;
3516 margin: 0px;
3517 padding: 0px;
3518}
3519div.ruler div ul li {
3520 display: inline-block;
3521 vertical-align: top;
3522}
3523div.ruler > div.steps > ul > li:first-child, div.ruler > div.dots > ul > li:first-child {
3524 margin-left: 0px;
3525}
3526div.ruler div.steps_3 ul li {
3527 margin-left: 135px;
3528}
3529div.ruler div.steps_4 ul li {
3530 margin-left: 67px;
3531}
3532div.ruler div.steps_5 ul li {
3533 margin-left: 32px;
3534}
3535div.ruler div.steps_6 ul li {
3536 margin-left: 12px;
3537}
3538div.ruler div ul li span {
3539 font-weight: bold;
3540 text-align: center;
3541 width: 70px;
3542 display: block;
3543 font-size: 8pt;
3544 overflow: hidden;
3545 color: rgba(0, 0, 0, 0.3);
3546}
3547div.ruler div ul li.selected span {
3548 color: black;
3549}
3550div.ruler div.dots ul li span {
3551 //text-align: center;
3552 //width: 26px;
3553 //margin-left: 22px;
3554 //margin-right: 22px;
3555 //height: 25px;
3556 //background-color: #e57218;
3557 2146
3558 font-size: 40pt; 2147 div.groupSidePanel div.header {
3559 line-height: 47px; 2148 height: 50px;
3560} 2149 background-image: url(../images/old/main/tabs/groupsBackground.png);
3561div.ruler div.marker { 2150 }
3562 position: absolute; 2151 div.groupSidePanel div.header h1 {
3563 top: -3px; 2152 padding-left: 52px;
3564 //left: -246px; 2153 padding-top: 14px;
3565} 2154 font-size: 14pt;
3566div.ruler div.marker div.markerBody { 2155 font-weight: normal;
3567 width: 77px; 2156 color: white;
3568 height: 97px; 2157 }
3569 background: url(../images/old/ruler/marker.png) no-repeat; 2158 div.groupSidePanel div.header a {
3570} 2159 float: right;
3571div.ruler div.marker div.next { 2160 margin-top: -30px;
3572 position: absolute; 2161 margin-right: 20px;
3573 top: 25px; 2162 text-decoration: none;
3574 left: 76px; 2163 color: #666666;
3575 width: 27px; 2164 font-size: 9pt;
3576 height: 65px; 2165 line-height: 18px;
3577 background: url(../images/old/ruler/next.png) no-repeat -13px; 2166 }
3578 z-index: 26000; 2167 div.groupSidePanel div.header a:hover {
3579} 2168 color: #444444;
3580div.ruler div.marker div.next:hover { 2169 }
3581 cursor: pointer; 2170 div.groupSidePanel div.body {
3582 background: url(../images/old/ruler/next.png) no-repeat -2px; 2171 background: url(../images/old/main/tabs/groupsBackground.png) -255px;
3583} 2172 }
3584div.ruler div.marker div.disabled { 2173 div.groupSidePanel div.footer {
3585 display: none; 2174 height: 10px;
3586} 2175 background: url(../images/old/main/tabs/groupsBackground.png) -510px -39px;
3587div.ruler div.marker div.previous { 2176 }
3588 position: absolute; 2177 div.groupSidePanel ul.groups {
3589 top: 25px; 2178 margin: 0px;
3590 left: -24px; 2179 list-style-type: none;
3591 width: 27px; 2180 padding: 0px;
3592 height: 65px; 2181 }
3593 //background: url(../images/old/ruler/previous.png) no-repeat 13px 1px; 2182 div.groupSidePanel ul.groups li a {
3594 background: url(../images/old/ruler/previous.png) no-repeat 18px 1px; 2183 display: block;
3595 z-index: 26000; 2184 font-size: 9pt;
3596} 2185 text-decoration: none;
3597div.ruler div.marker div.previous:hover { 2186 color: white;
3598 cursor: pointer; 2187 padding: 0px 4px 0px 15px;
3599 //background: url(../images/old/ruler/previous.png) no-repeat 2px 1px; 2188 line-height: 20px;
3600 background: url(../images/old/ruler/previous.png) no-repeat 7px 1px; 2189 }
2190 div.groupSidePanel ul.groups li a:hover {
2191 background-color: #aaaaaa;
2192 }
2193 div.groupSidePanel ul.groups li span.groupCardinality {
2194 float: right;
2195 font-size: 8pt;
2196 color: #dddddd;
2197 margin-right: 15px;
2198 margin-top: -17px;
2199 }
2200 div.groupSidePanel ul.groups li.selected a {
2201 background-color: #bbbbbb;
2202 }
2203 div.groupSidePanel ul.groups li.selected a:hover {
2204 background-color: #bbbbbb;
2205 }
2206 div.groupSidePanel ul.groups li.selected a {
2207 font-weight: bold;
2208 }
2209*/
3601} 2210}
3602
3603div.createNewCardSplash {
3604 margin-top: -450px;
3605 margin-left: 250px;
3606 width: 354px;
3607 float: left;
3608 height: 186px;
3609 text-align: center;
3610 background: url(../images/old/main/grid/createNewCardSplash.png) no-repeat;
3611}
3612div.createNewCardSplash:hover {
3613 cursor: pointer;
3614 background: url(../images/old/main/grid/createNewCardSplash_selected.png) no-repeat;
3615}
3616div.createNewCardSplash span {
3617 display: block;
3618 padding-top: 130px;
3619 font-size: 14pt;
3620 color: #9a9586;
3621}
3622div.createNewCardSplash:hover span {
3623 color: #605c4e;
3624}
3625//=============================================
3626div.NewUserCreation div.tabContainer {
3627 min-height: 150px;
3628 height: 200px;
3629}
3630div.NewUserCreation div.tabContainer > ul.tabs {
3631 display: none;
3632}
3633ul.createUserStates li.creating {
3634 background: url(../images/old/creatingUser.gif) no-repeat center center;
3635}
3636ul.createUserStates li {
3637 height: 100px;
3638}
3639ul.createUserStates li span {
3640 display: block;
3641 width: 100%;
3642 text-align: center;
3643 color: #999;
3644 font-style: italic;
3645}
3646div.NewUserCreation form.newUserCreationForm ul.tabPanels {
3647 padding-top: 10px;
3648}
3649div.NewUserCreation form.newUserCreationForm ul ul {
3650 margin-left: auto;
3651 margin-right: auto;
3652 width: 400px;
3653}
3654div.NewUserCreation form.newUserCreationForm ul.credentials li {
3655 height: 45px;
3656}
3657div.NewUserCreation form.newUserCreationForm ul.credentials span.label {
3658 text-align: right;
3659 display: inline-block;
3660 font-size: 12pt;
3661 color: #787872;
3662 width: 110px;
3663 vertical-align: baseline;
3664}
3665div.NewUserCreation form.newUserCreationForm ul.credentials input {
3666 font-size: 13pt;
3667 color: #787872;
3668 height: 35px;
3669 margin-left: 15px;
3670 padding-left: 5px;
3671}
3672div.NewUserCreation form.newUserCreationForm ul.termsOfService li {
3673 padding: 0 0 15 0;
3674}
3675div.NewUserCreation form.newUserCreationForm ul.termsOfService input {
3676 display: inline-block;
3677}
3678div.NewUserCreation form.newUserCreationForm ul.termsOfService .label {
3679 display: inline-block;
3680 text-align: left;
3681 font-size: 12pt;
3682 color: #787872;
3683 width: 350px;
3684 vertical-align: top;
3685 padding-left: 10px;
3686}
3687div.NewUserCreation form.newUserCreationForm ul.termsOfService a {
3688 font-weight: bold;
3689 color: #787872;
3690 text-decoration: none;
3691}
3692div.NewUserCreation form.newUserCreationForm ul.termsOfService a:hover {
3693 color: #444;
3694}
3695div.NewUserCreation form.newUserCreationForm ul.createUserStates li.done span {
3696 font-size: 16pt;
3697 color: green;
3698}
3699div.NewUserCreation form.newUserCreationForm ul.createUserStates li.fail span {
3700 font-size: 16pt;
3701 color: red;
3702}
3703*/ \ No newline at end of file
diff --git a/frontend/gamma/html/exitPage_template.html b/frontend/gamma/html/exitPage_template.html
index b46f9f6..e17bee0 100644
--- a/frontend/gamma/html/exitPage_template.html
+++ b/frontend/gamma/html/exitPage_template.html
@@ -1,31 +1,6 @@
1<!--
2
3Copyright 2008-2011 Clipperz Srl
4
5This file is part of Clipperz Community Edition.
6Clipperz Community Edition is an online password manager.
7For further information about its features and functionalities please
8refer to http://www.clipperz.com.
9
10* Clipperz Community Edition is free software: you can redistribute
11 it and/or modify it under the terms of the GNU Affero General Public
12 License as published by the Free Software Foundation, either version
13 3 of the License, or (at your option) any later version.
14
15* Clipperz Community Edition is distributed in the hope that it will
16 be useful, but WITHOUT ANY WARRANTY; without even the implied
17 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU Affero General Public License for more details.
19
20* You should have received a copy of the GNU Affero General Public
21 License along with Clipperz Community Edition. If not, see
22 <http://www.gnu.org/licenses/>.
23
24-->
25
26<html> 1<html>
27<head> 2<head>
28 <title>clipperz</title> 3 <title>clipperz</title>
29 <link rel="stylesheet" type="text/css" href="./static.css" /> 4 <link rel="stylesheet" type="text/css" href="./static.css" />
30 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
31</head> 6</head>
diff --git a/frontend/gamma/js/Clipperz/PM/Proxy.js b/frontend/gamma/js/Clipperz/PM/Proxy.js
index 9817eac..190bffd 100644
--- a/frontend/gamma/js/Clipperz/PM/Proxy.js
+++ b/frontend/gamma/js/Clipperz/PM/Proxy.js
@@ -139,13 +139,13 @@ Clipperz.PM.Proxy.prototype = MochiKit.Base.update(null, {
139 139
140 //========================================================================= 140 //=========================================================================
141 141
142 'processMessage': function (aFunctionName, someParameters, aRequestType) { 142 'processMessage': function (aFunctionName, someParameters, aRequestType) {
143 vardeferredResult; 143 vardeferredResult;
144 144
145 deferredResult = new Clipperz.Async.Deferred("Proxy.processMessage", {trace:true}); 145 deferredResult = new Clipperz.Async.Deferred("Proxy.processMessage", {trace:false});
146 deferredResult.addMethod(this, 'payToll', aRequestType); 146 deferredResult.addMethod(this, 'payToll', aRequestType);
147 deferredResult.addMethod(this, 'sendMessage', aFunctionName); 147 deferredResult.addMethod(this, 'sendMessage', aFunctionName);
148 deferredResult.addMethod(this, 'setTollCallback'); 148 deferredResult.addMethod(this, 'setTollCallback');
149 deferredResult.callback(someParameters); 149 deferredResult.callback(someParameters);
150 150
151 return deferredResult; 151 return deferredResult;
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js
index 095e8ed..8df7e0e 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Common/Components/Tooltip.js
@@ -99,14 +99,14 @@ Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.Tooltip, Clipperz.PM.UI.Co
99 // this.append(this.element(), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ 99 // this.append(this.element(), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[
100 // this.append(MochiKit.DOM.currentDocument().body, {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ 100 // this.append(MochiKit.DOM.currentDocument().body, {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[
101 this.append(MochiKit.DOM.getElement('Clipperz_PM_UI_Common_Components_Tooltip_wrapperNode'), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[ 101 this.append(MochiKit.DOM.getElement('Clipperz_PM_UI_Common_Components_Tooltip_wrapperNode'), {tag:'div', id:this.getId('tooltip'), cls:'tooltip ' + this.position(), children:[
102 {tag:'div', id:this.getId('body'), cls:'tooltip_body', children:[ 102 {tag:'div', id:this.getId('body'), cls:'tooltip_body', children:[
103 {tag:'div', cls:'tooltip_text', children:[ 103 {tag:'div', cls:'tooltip_text', children:[
104 {tag:'span', html:this.text()} 104 {tag:'span', html:this.text()}
105 ]}, 105 ]}//,
106 {tag:'div', id:this.getId('footer'), cls:'tooltip_footer'} 106 // {tag:'div', id:this.getId('footer'), cls:'tooltip_footer'}
107 ]}, 107 ]},
108 {tag:'div', id:this.getId('arrow'), cls:'tooltip_arrow'} 108 {tag:'div', id:this.getId('arrow'), cls:'tooltip_arrow'}
109 ]}); 109 ]});
110 110
111 this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body')); 111 this._boxDimensions = MochiKit.Style.getElementDimensions(this.getId('body'));
112 // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h; 112 // this._boxDimensions.h += MochiKit.Style.getElementDimensions(this.getId('footer')).h;
@@ -143,51 +143,52 @@ Clipperz.Base.extend(Clipperz.PM.UI.Common.Components.Tooltip, Clipperz.PM.UI.Co
143 elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element()); 143 elementSizeAndPosition = Clipperz.Style.getSizeAndPosition(this.element());
144//console.log("ELEMENT SIZE AND POSITION", Clipperz.Base.serializeJSON(elementSizeAndPosition)); 144//console.log("ELEMENT SIZE AND POSITION", Clipperz.Base.serializeJSON(elementSizeAndPosition));
145//console.log("BOX DIMENSIONS", Clipperz.Base.serializeJSON(this.boxDimensions())); 145//console.log("BOX DIMENSIONS", Clipperz.Base.serializeJSON(this.boxDimensions()));
146 switch (this.position()) { 146 switch (this.position()) {
147 case 'ABOVE': 147 case 'ABOVE':
148//console.log("ABOVE"); 148//console.log("ABOVE");
149 MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); 149 // MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px');
150 bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); 150 bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2);
151 bodyPosition.y = elementSizeAndPosition.position.y - this.boxDimensions().h - 13; 151 bodyPosition.y = elementSizeAndPosition.position.y - this.boxDimensions().h - 13;
152 152
153 arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); 153 // arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2);
154 arrowPosition.y = elementSizeAndPosition.position.y - 13; 154 // arrowPosition.y = elementSizeAndPosition.position.y - 13;
155 break; 155 break;
156 case 'BELOW': 156 case 'BELOW':
157//console.log("BELOW"); 157//console.log("BELOW");
158 MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px'); 158 // MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:36, h:13}, 'px');
159 bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2); 159 bodyPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - this.boxDimensions().w/2);
160 bodyPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h + 13; 160 bodyPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h + 13;
161 161
162 arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2); 162 // arrowPosition.x = elementSizeAndPosition.position.x + (elementSizeAndPosition.dimensions.w/2 - 36/2);
163 arrowPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h; 163 // arrowPosition.y = elementSizeAndPosition.position.y + elementSizeAndPosition.dimensions.h;
164 break; 164 break;
165 case 'LEFT': 165 case 'LEFT':
166//console.log("LEFT"); 166//console.log("LEFT");
167 MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px'); 167 // MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px');
168 bodyPosition.x = elementSizeAndPosition.position.x - this.boxDimensions().w - 13; 168 bodyPosition.x = elementSizeAndPosition.position.x - this.boxDimensions().w - 13;
169 bodyPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - this.boxDimensions().h/2); 169 bodyPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - this.boxDimensions().h/2);
170 170
171 arrowPosition.x = elementSizeAndPosition.position.x -13; 171 // arrowPosition.x = elementSizeAndPosition.position.x -13;
172 arrowPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - 36/2); 172 // arrowPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - 36/2);
173 break; 173 break;
174 case 'RIGHT': 174 case 'RIGHT':
175//console.log("RIGHT"); 175//console.log("RIGHT");
176 MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px'); 176 // MochiKit.Style.setElementDimensions(this.getId('arrow'), {w:13, h:36}, 'px');
177 bodyPosition.x = elementSizeAndPosition.position.x + elementSizeAndPosition.dimensions.w + 13; 177 bodyPosition.x = elementSizeAndPosition.position.x + elementSizeAndPosition.dimensions.w + 13;
178 bodyPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - this.boxDimensions().h/2); 178 bodyPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - this.boxDimensions().h/2);
179 179
180 arrowPosition.x = elementSizeAndPosition.position.x + elementSizeAndPosition.dimensions.w; 180 // arrowPosition.x = elementSizeAndPosition.position.x + elementSizeAndPosition.dimensions.w;
181 arrowPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - 36/2); 181 // arrowPosition.y = elementSizeAndPosition.position.y + (elementSizeAndPosition.dimensions.h/2 - 36/2);
182 break; 182 break;
183 } 183 }
184//console.log("X: " + bodyPosition.x + ", Y: " + bodyPosition.y); 184//console.log("X: " + bodyPosition.x + ", Y: " + bodyPosition.y);
185 185
186 MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition); 186 MochiKit.Style.setElementPosition(this.getId('tooltip'), bodyPosition);
187 MochiKit.Style.setElementPosition(this.getId('arrow'), arrowPosition); 187 // MochiKit.Style.setElementPosition(this.getId('body'), bodyPosition);
188 // MochiKit.Style.setElementPosition(this.getId('arrow'), arrowPosition);
188 MochiKit.Visual.appear(this.displayElement(), {duration:0.4}); 189 MochiKit.Visual.appear(this.displayElement(), {duration:0.4});
189 } 190 }
190 }, 191 },
191 192
192 'hide': function () { 193 'hide': function () {
193 if (this.isVisible() == true) { 194 if (this.isVisible() == true) {
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js
index 389d876..a10ba4f 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Components/LoginForm.js
@@ -62,30 +62,15 @@ Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Com
62 {tag:'div', id:this.getId('loginForm'), children:[ 62 {tag:'div', id:this.getId('loginForm'), children:[
63 {tag:'div', children:[ 63 {tag:'div', children:[
64 {tag:'h4', html:'Login'}, 64 {tag:'h4', html:'Login'},
65 // {tag:'form', cls:'loginForm', autocomplete:this.autocomplete(), children:[ 65 // {tag:'form', cls:'loginForm', autocomplete:this.autocomplete(), children:[
66 {tag:'form', id:this.getId('form'), cls:'loginForm', children:[ 66 {tag:'form', id:this.getId('form'), cls:'loginForm', children:[
67 {tag:'label', html:'username', 'for':this.getId('usernameField')}, 67 {tag:'label', html:'username', 'for':this.getId('usernameField')},
68 {tag:'input', id:this.getId('usernameField'), type:'text', cls:'username'/*, value:'joe'*/}, 68 {tag:'input', id:this.getId('usernameField'), type:'text', cls:'username'},
69 {tag:'ul', id:this.getId('passwordOptions'), children:[ 69 {tag:'label', html:'passphrase / OTP', 'for':this.getId('passphraseField')},
70 {tag:'li', id:this.getId('passphraseOption'), children:[ 70 {tag:'input', id:this.getId('passphraseField'), type:'password', cls:'password'},
71 {tag:'label', html:'passphrase / OTP', 'for':this.getId('passphraseField')},
72 {tag:'input', id:this.getId('passphraseField'), type:'password', cls:'password'/*, value:'clipperz'*/}
73 ]} //,
74/*
75 {tag:'li', id:this.getId('otpOption'), children:[
76 {tag:'label', html:'one-time password', 'for':this.getId('otpField_1')},
77 {tag:'input', id:this.getId('otpField_1'), type:'text', cls:'otp', value:'abcd-efgh'},
78 {tag:'input', id:this.getId('otpField_2'), type:'text', cls:'otp', value:'abcd-efgh'},
79 {tag:'input', id:this.getId('otpField_3'), type:'text', cls:'otp', value:'abcd-efgh'},
80 {tag:'input', id:this.getId('otpField_4'), type:'text', cls:'otp', value:'abcd-efgh'}
81 ]}
82*/
83 ]},
84 // {tag:'input', id:this.getId('otpCheckbox'), type:'checkbox', cls:'checkbox'},
85 // {tag:'label', html:'use a one-time passphrase', 'for':this.getId('otpCheckbox'), cls:'checkbox'},
86 71
87 {tag:'div', cls:'translations', children:[ 72 {tag:'div', cls:'translations', children:[
88 {tag:'h4', html:'choose your language'}, 73 {tag:'h4', html:'choose your language'},
89 {tag:'ul', children:[ 74 {tag:'ul', children:[
90 {tag:'li', cls:'selected', html:'english'}, 75 {tag:'li', cls:'selected', html:'english'},
91 {tag:'li', html:'italiano'}, 76 {tag:'li', html:'italiano'},
@@ -158,35 +143,28 @@ Clipperz.Base.extend(Clipperz.PM.UI.Web.Components.LoginForm, Clipperz.PM.UI.Com
158 this.showElement('otpOption'); 143 this.showElement('otpOption');
159 }, 144 },
160*/ 145*/
161 //------------------------------------------------------------------------- 146 //-------------------------------------------------------------------------
162 147
163 'loginEventHandler': function(anEvent) { 148 'loginEventHandler': function(anEvent) {
164 varusername; 149 // varusername;
165 var passphrase; 150 // var passphrase;
166 // var shouldUseOTP;
167 // var otp;
168 var signalArguments; 151 var signalArguments;
169 152
170 anEvent.preventDefault(); 153 anEvent.preventDefault();
171 154
172 username = this.getElement('usernameField').value; 155 // username = this.getElement('usernameField').value;
173 passphrase = this.getElement('passphraseField').value; 156 // passphrase = this.getElement('passphraseField').value;
174 // otp =this.getElement('otpField_1').value + 157
175 // this.getElement('otpField_2').value + 158 // signalArguments = {username:username};
176 // this.getElement('otpField_3').value + 159 // signalArguments.passphrase = passphrase;
177 // this.getElement('otpField_4').value; 160
178 // shouldUseOTP = this.getElement('otpCheckbox').checked; 161 signalArguments = {
179 162 'username': this.getElement('usernameField').value,
180 signalArguments = {username:username}; 163 'passphrase':this.getElement('passphraseField').value
181 164 };
182 // if (shouldUseOTP) {
183 // signalArguments.otp = otp;
184 // } else {
185 signalArguments.passphrase = passphrase;
186 // }
187 165
188 MochiKit.Signal.signal(this, 'doLogin', signalArguments); 166 MochiKit.Signal.signal(this, 'doLogin', signalArguments);
189 }, 167 },
190 168
191 //------------------------------------------------------------------------- 169 //-------------------------------------------------------------------------
192 170
diff --git a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js
index d0b378c..a57152d 100644
--- a/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js
+++ b/frontend/gamma/js/Clipperz/PM/UI/Web/Controllers/LoginController.js
@@ -78,35 +78,29 @@ MochiKit.Base.update(Clipperz.PM.UI.Web.Controllers.LoginController.prototype, {
78 78
79 //----------------------------------------------------------------------------- 79 //-----------------------------------------------------------------------------
80 80
81 'doLogin': function(aLoginForm, anEvent) { 81 'doLogin': function(aLoginForm, anEvent) {
82 var deferredResult; 82 var deferredResult;
83 varparameters; 83 varparameters;
84 // varshouldUseOTP;
85 var loginProgress; 84 var loginProgress;
86 varuser; 85 varuser;
87 var getPassphraseDelegate; 86 var getPassphraseDelegate;
88 87
89 parameters = anEvent; 88 parameters = anEvent;
90 // shouldUseOTP = (typeof(parameters.passphrase) == 'undefined');
91 89
92 getPassphraseDelegate = MochiKit.Base.partial(MochiKit.Async.succeed, parameters.passphrase); 90 getPassphraseDelegate = MochiKit.Base.partial(MochiKit.Async.succeed, parameters.passphrase);
93 user = new Clipperz.PM.DataModel.User({'username':parameters.username, 'getPassphraseFunction':MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase')}); 91 user = new Clipperz.PM.DataModel.User({'username':parameters.username, 'getPassphraseFunction':MochiKit.Base.method(Clipperz.PM.RunTime.mainController, 'getPassphrase')});
94 92
95 loginProgress = new Clipperz.PM.UI.Web.Components.LoginProgress(); 93 loginProgress = new Clipperz.PM.UI.Web.Components.LoginProgress();
96 94
97 deferredResult = new Clipperz.Async.Deferred("LoginController.doLogin", {trace:false}); 95 deferredResult = new Clipperz.Async.Deferred("LoginController.doLogin", {trace:false});
98 deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':4}); 96 deferredResult.addCallbackPass(MochiKit.Signal.signal, Clipperz.Signal.NotificationCenter, 'initProgress', {'steps':4});
99 deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', getPassphraseDelegate); 97 deferredResult.addMethod(Clipperz.PM.RunTime.mainController, 'setPassphraseDelegate', getPassphraseDelegate);
100 deferredResult.addMethod(loginProgress, 'deferredShowModal', {deferredObject:deferredResult, openFromElement:aLoginForm.submitButtonElement()}); 98 deferredResult.addMethod(loginProgress, 'deferredShowModal', {deferredObject:deferredResult, openFromElement:aLoginForm.submitButtonElement()});
101 deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'deferredEntropyCollection'); 99 deferredResult.addMethod(Clipperz.Crypto.PRNG.defaultRandomGenerator(), 'deferredEntropyCollection');
102 // if (shouldUseOTP == false) { 100 deferredResult.addMethod(user, 'login');
103 deferredResult.addMethod(user, 'login');
104 // } else {
105 // deferredResult.addMethod(user, 'loginUsingOTP', parameters.username, parameters.otp);
106 // }
107 deferredResult.addCallback(function(aLoginProgress, res) { 101 deferredResult.addCallback(function(aLoginProgress, res) {
108 aLoginProgress.disableCancel(); 102 aLoginProgress.disableCancel();
109 return res; 103 return res;
110 }, loginProgress); 104 }, loginProgress);
111 deferredResult.addCallback(function () { 105 deferredResult.addCallback(function () {
112 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN',MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:MochiKit.DOM.currentDocument().body})); 106 MochiKit.Signal.connect(Clipperz.Signal.NotificationCenter, 'CARDS_CONTROLLER_DID_RUN',MochiKit.Base.method(loginProgress, 'deferredHideModalAndRemove', {closeToElement:MochiKit.DOM.currentDocument().body}));
diff --git a/frontend/gamma/js/MochiKit/Async.js b/frontend/gamma/js/MochiKit/Async.js
index c7408e7..cc43835 100644
--- a/frontend/gamma/js/MochiKit/Async.js
+++ b/frontend/gamma/js/MochiKit/Async.js
@@ -5,70 +5,81 @@ MochiKit.Async 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Async', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'Async', '1.5', ['Base']);
12 12
13/** @id MochiKit.Async.Deferred */ 13/** @id MochiKit.Async.Deferred */
14MochiKit.Async.Deferred = function (/* optional */ canceller) { 14MochiKit.Async.Deferred = function (/* optional */ canceller) {
15 this.chain = []; 15 this.chain = [];
16 this.id = this._nextId(); 16 this.id = this._nextId();
17 this.fired = -1; 17 this.fired = -1;
18 this.paused = 0; 18 this.paused = 0;
19 this.results = [null, null]; 19 this.results = [null, null];
20 this.canceller = canceller; 20 this.canceller = canceller;
21 this.silentlyCancelled = false; 21 this.silentlyCancelled = false;
22 this.chained = false; 22 this.chained = false;
23 this.finalized = false;
23}; 24};
24 25
25MochiKit.Async.Deferred.prototype = { 26MochiKit.Async.Deferred.prototype = {
26 /** @id MochiKit.Async.Deferred.prototype.repr */ 27 /** @id MochiKit.Async.Deferred.prototype.repr */
27 repr: function () { 28 repr: function () {
28 var state; 29 return 'Deferred(' + this.id + ', ' + this.state() + ')';
29 if (this.fired == -1) {
30 state = 'unfired';
31 } else if (this.fired === 0) {
32 state = 'success';
33 } else {
34 state = 'error';
35 }
36 return 'Deferred(' + this.id + ', ' + state + ')';
37 }, 30 },
38 31
39 toString: MochiKit.Base.forwardCall("repr"), 32 toString: MochiKit.Base.forwardCall("repr"),
40 33
41 _nextId: MochiKit.Base.counter(), 34 _nextId: MochiKit.Base.counter(),
42 35
36 /** @id MochiKit.Async.Deferred.prototype.state */
37 state: function () {
38 if (this.fired == -1) {
39 return 'unfired';
40 } else if (this.fired === 0) {
41 return 'success';
42 } else {
43 return 'error';
44 }
45 },
46
43 /** @id MochiKit.Async.Deferred.prototype.cancel */ 47 /** @id MochiKit.Async.Deferred.prototype.cancel */
44 cancel: function () { 48 cancel: function (e) {
45 var self = MochiKit.Async; 49 var self = MochiKit.Async;
46 if (this.fired == -1) { 50 if (this.fired == -1) {
47 if (this.canceller) { 51 if (this.canceller) {
48 this.canceller(this); 52 this.canceller(this);
49 } else { 53 } else {
50 this.silentlyCancelled = true; 54 this.silentlyCancelled = true;
51 } 55 }
52 if (this.fired == -1) { 56 if (this.fired == -1) {
53 this.errback(new self.CancelledError(this)); 57 if (typeof(e) === 'string') {
58 e = new self.GenericError(e);
59 } else if (!(e instanceof Error)) {
60 e = new self.CancelledError(this);
61 }
62 this.errback(e);
54 } 63 }
55 } else if ((this.fired === 0) && (this.results[0] instanceof self.Deferred)) { 64 } else if ((this.fired === 0) && (this.results[0] instanceof self.Deferred)) {
56 this.results[0].cancel(); 65 this.results[0].cancel(e);
57 } 66 }
58 }, 67 },
59 68
60 _resback: function (res) { 69 _resback: function (res) {
61 /*** 70 /***
62 71
63 The primitive that means either callback or errback 72 The primitive that means either callback or errback
64 73
65 ***/ 74 ***/
66 this.fired = ((res instanceof Error) ? 1 : 0); 75 this.fired = ((res instanceof Error) ? 1 : 0);
67 this.results[this.fired] = res; 76 this.results[this.fired] = res;
68 this._fire(); 77 if (this.paused === 0) {
78 this._fire();
79 }
69 }, 80 },
70 81
71 _check: function () { 82 _check: function () {
72 if (this.fired != -1) { 83 if (this.fired != -1) {
73 if (!this.silentlyCancelled) { 84 if (!this.silentlyCancelled) {
74 throw new MochiKit.Async.AlreadyCalledError(this); 85 throw new MochiKit.Async.AlreadyCalledError(this);
@@ -126,19 +137,40 @@ MochiKit.Async.Deferred.prototype = {
126 137
127 /** @id MochiKit.Async.Deferred.prototype.addCallbacks */ 138 /** @id MochiKit.Async.Deferred.prototype.addCallbacks */
128 addCallbacks: function (cb, eb) { 139 addCallbacks: function (cb, eb) {
129 if (this.chained) { 140 if (this.chained) {
130 throw new Error("Chained Deferreds can not be re-used"); 141 throw new Error("Chained Deferreds can not be re-used");
131 } 142 }
143 if (this.finalized) {
144 throw new Error("Finalized Deferreds can not be re-used");
145 }
132 this.chain.push([cb, eb]); 146 this.chain.push([cb, eb]);
133 if (this.fired >= 0) { 147 if (this.fired >= 0) {
134 this._fire(); 148 this._fire();
135 } 149 }
136 return this; 150 return this;
137 }, 151 },
138 152
153 /** @id MochiKit.Async.Deferred.prototype.setFinalizer */
154 setFinalizer: function (fn) {
155 if (this.chained) {
156 throw new Error("Chained Deferreds can not be re-used");
157 }
158 if (this.finalized) {
159 throw new Error("Finalized Deferreds can not be re-used");
160 }
161 if (arguments.length > 1) {
162 fn = MochiKit.Base.partial.apply(null, arguments);
163 }
164 this._finalizer = fn;
165 if (this.fired >= 0) {
166 this._fire();
167 }
168 return this;
169 },
170
139 _fire: function () { 171 _fire: function () {
140 /*** 172 /***
141 173
142 Used internally to exhaust the callback sequence when a result 174 Used internally to exhaust the callback sequence when a result
143 is available. 175 is available.
144 176
@@ -157,17 +189,14 @@ MochiKit.Async.Deferred.prototype = {
157 } 189 }
158 try { 190 try {
159 res = f(res); 191 res = f(res);
160 fired = ((res instanceof Error) ? 1 : 0); 192 fired = ((res instanceof Error) ? 1 : 0);
161 if (res instanceof MochiKit.Async.Deferred) { 193 if (res instanceof MochiKit.Async.Deferred) {
162 cb = function (res) { 194 cb = function (res) {
163 self._resback(res);
164 self.paused--; 195 self.paused--;
165 if ((self.paused === 0) && (self.fired >= 0)) { 196 self._resback(res);
166 self._fire();
167 }
168 }; 197 };
169 this.paused++; 198 this.paused++;
170 } 199 }
171 } catch (err) { 200 } catch (err) {
172 fired = 1; 201 fired = 1;
173 if (!(err instanceof Error)) { 202 if (!(err instanceof Error)) {
@@ -175,12 +204,16 @@ MochiKit.Async.Deferred.prototype = {
175 } 204 }
176 res = err; 205 res = err;
177 } 206 }
178 } 207 }
179 this.fired = fired; 208 this.fired = fired;
180 this.results[fired] = res; 209 this.results[fired] = res;
210 if (this.chain.length == 0 && this.paused === 0 && this._finalizer) {
211 this.finalized = true;
212 this._finalizer(res);
213 }
181 if (cb && this.paused) { 214 if (cb && this.paused) {
182 // this is for "tail recursion" in case the dependent deferred 215 // this is for "tail recursion" in case the dependent deferred
183 // is already fired 216 // is already fired
184 res.addBoth(cb); 217 res.addBoth(cb);
185 res.chained = true; 218 res.chained = true;
186 } 219 }
@@ -246,13 +279,13 @@ MochiKit.Base.update(MochiKit.Async, {
246 } catch (e) { 279 } catch (e) {
247 } 280 }
248 } 281 }
249 var status = null; 282 var status = null;
250 try { 283 try {
251 status = this.status; 284 status = this.status;
252 if (!status && m.isNotEmpty(this.responseText)) { 285 if (!status && (this.response || m.isNotEmpty(this.responseText))) {
253 // 0 or undefined seems to mean cached or local 286 // 0 or undefined seems to mean cached or local
254 status = 304; 287 status = 304;
255 } 288 }
256 } catch (e) { 289 } catch (e) {
257 // pass 290 // pass
258 // MochiKit.Logging.logDebug('error getting status?', repr(items(e))); 291 // MochiKit.Logging.logDebug('error getting status?', repr(items(e)));
@@ -334,13 +367,14 @@ MochiKit.Base.update(MochiKit.Async, {
334 sendContent: '' 367 sendContent: ''
335 /* 368 /*
336 queryString: undefined, 369 queryString: undefined,
337 username: undefined, 370 username: undefined,
338 password: undefined, 371 password: undefined,
339 headers: undefined, 372 headers: undefined,
340 mimeType: undefined 373 mimeType: undefined,
374 responseType: undefined
341 */ 375 */
342 }, opts); 376 }, opts);
343 var self = MochiKit.Async; 377 var self = MochiKit.Async;
344 var req = self.getXMLHttpRequest(); 378 var req = self.getXMLHttpRequest();
345 if (opts.queryString) { 379 if (opts.queryString) {
346 var qs = m.queryString(opts.queryString); 380 var qs = m.queryString(opts.queryString);
@@ -368,12 +402,15 @@ MochiKit.Base.update(MochiKit.Async, {
368 var header = headers[i]; 402 var header = headers[i];
369 var name = header[0]; 403 var name = header[0];
370 var value = header[1]; 404 var value = header[1];
371 req.setRequestHeader(name, value); 405 req.setRequestHeader(name, value);
372 } 406 }
373 } 407 }
408 if ("responseType" in opts && "responseType" in req) {
409 req.responseType = opts.responseType;
410 }
374 return self.sendXMLHttpRequest(req, opts.sendContent); 411 return self.sendXMLHttpRequest(req, opts.sendContent);
375 }, 412 },
376 413
377 _buildURL: function (url/*, ...*/) { 414 _buildURL: function (url/*, ...*/) {
378 if (arguments.length > 1) { 415 if (arguments.length > 1) {
379 var m = MochiKit.Base; 416 var m = MochiKit.Base;
@@ -401,22 +438,50 @@ MochiKit.Base.update(MochiKit.Async, {
401 'headers': [['Accept', 'application/json']] 438 'headers': [['Accept', 'application/json']]
402 }); 439 });
403 d = d.addCallback(self.evalJSONRequest); 440 d = d.addCallback(self.evalJSONRequest);
404 return d; 441 return d;
405 }, 442 },
406 443
444 /** @id MochiKit.Async.loadScript */
445 loadScript: function (url) {
446 var d = new MochiKit.Async.Deferred();
447 var script = document.createElement("script");
448 script.type = "text/javascript";
449 script.src = url;
450 script.onload = function () {
451 script.onload = null;
452 script.onerror = null;
453 script.onreadystatechange = null;
454 script = null;
455 d.callback();
456 };
457 script.onerror = function (msg) {
458 script.onload = null;
459 script.onerror = null;
460 script.onreadystatechange = null;
461 script = null;
462 msg = "Failed to load script at " + url + ": " + msg;
463 d.errback(new URIError(msg, url));
464 }
465 script.onreadystatechange = function () {
466 if (script.readyState == "loaded" || script.readyState == "complete") {
467 script.onload();
468 } else {
469 // IE doesn't bother to report errors...
470 MochiKit.Async.callLater(10, script.onerror, "Script loading timed out")
471 }
472 };
473 document.getElementsByTagName("head")[0].appendChild(script);
474 return d;
475 },
476
407 /** @id MochiKit.Async.wait */ 477 /** @id MochiKit.Async.wait */
408 wait: function (seconds, /* optional */value) { 478 wait: function (seconds, /* optional */value) {
409 var d = new MochiKit.Async.Deferred(); 479 var d = new MochiKit.Async.Deferred();
410 var m = MochiKit.Base; 480 var cb = MochiKit.Base.bind("callback", d, value);
411 if (typeof(value) != 'undefined') { 481 var timeout = setTimeout(cb, Math.floor(seconds * 1000));
412 d.addCallback(function () { return value; });
413 }
414 var timeout = setTimeout(
415 m.bind("callback", d),
416 Math.floor(seconds * 1000));
417 d.canceller = function () { 482 d.canceller = function () {
418 try { 483 try {
419 clearTimeout(timeout); 484 clearTimeout(timeout);
420 } catch (e) { 485 } catch (e) {
421 // pass 486 // pass
422 } 487 }
@@ -507,12 +572,13 @@ MochiKit.Async.DeferredList = function (list, /* optional */fireOnOneCallback, f
507 this.callback(this.resultList); 572 this.callback(this.resultList);
508 } 573 }
509 574
510}; 575};
511 576
512MochiKit.Async.DeferredList.prototype = new MochiKit.Async.Deferred(); 577MochiKit.Async.DeferredList.prototype = new MochiKit.Async.Deferred();
578MochiKit.Async.DeferredList.prototype.constructor = MochiKit.Async.DeferredList;
513 579
514MochiKit.Async.DeferredList.prototype._cbDeferred = function (index, succeeded, result) { 580MochiKit.Async.DeferredList.prototype._cbDeferred = function (index, succeeded, result) {
515 this.resultList[index] = [succeeded, result]; 581 this.resultList[index] = [succeeded, result];
516 this.finishedCount += 1; 582 this.finishedCount += 1;
517 if (this.fired == -1) { 583 if (this.fired == -1) {
518 if (succeeded && this.fireOnOneCallback) { 584 if (succeeded && this.fireOnOneCallback) {
diff --git a/frontend/gamma/js/MochiKit/Base.js b/frontend/gamma/js/MochiKit/Base.js
index d33c269..ca1734c 100644
--- a/frontend/gamma/js/MochiKit/Base.js
+++ b/frontend/gamma/js/MochiKit/Base.js
@@ -5,54 +5,65 @@ MochiKit.Base 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11if (typeof(MochiKit) == 'undefined') { 11
12 MochiKit = {}; 12// MochiKit module (namespace)
13} 13var MochiKit = MochiKit || {};
14if (typeof(MochiKit.__export__) == "undefined") { 14if (typeof(MochiKit.__export__) == "undefined") {
15 MochiKit.__export__ = true; 15 MochiKit.__export__ = true;
16} 16}
17if (typeof(MochiKit.Base) == 'undefined') { 17MochiKit.NAME = "MochiKit";
18 MochiKit.Base = {}; 18MochiKit.VERSION = "1.5";
19} 19MochiKit.__repr__ = function () {
20 return "[" + this.NAME + " " + this.VERSION + "]";
21};
22MochiKit.toString = function () {
23 return this.__repr__();
24};
25
26
27// MochiKit.Base module
28MochiKit.Base = MochiKit.Base || {};
20 29
21/** 30/**
22 * Registers a new MochiKit module. This function will insert a new 31 * Creates a new module in a parent namespace. This function will
23 * property into the "MochiKit" object, making sure that all 32 * create a new empty module object with "NAME", "VERSION",
24 * dependency modules have already been inserted. It will also make 33 * "toString" and "__repr__" properties. This object will be inserted into the parent object
25 * sure that the appropriate properties and default module functions 34 * using the specified name (i.e. parent[name] = module). It will
26 * are defined. 35 * also verify that all the dependency modules are defined in the
36 * parent, or an error will be thrown.
27 * 37 *
38 * @param {Object} parent the parent module (use "this" or "window" for
39 * a global module)
28 * @param {String} name the module name, e.g. "Base" 40 * @param {String} name the module name, e.g. "Base"
29 * @param {String} version the module version, e.g. "1.5" 41 * @param {String} version the module version, e.g. "1.5"
30 * @param {Array} deps the array of module dependencies (as strings) 42 * @param {Array} [deps] the array of module dependencies (as strings)
31 */ 43 */
32MochiKit.Base._module = function (name, version, deps) { 44MochiKit.Base.module = function (parent, name, version, deps) {
33 if (!(name in MochiKit)) { 45 var module = parent[name] = parent[name] || {};
34 MochiKit[name] = {}; 46 var prefix = (parent.NAME ? parent.NAME + "." : "");
35 } 47 module.NAME = prefix + name;
36 var module = MochiKit[name];
37 module.NAME = "MochiKit." + name;
38 module.VERSION = version; 48 module.VERSION = version;
39 module.__repr__ = function () { 49 module.__repr__ = function () {
40 return "[" + this.NAME + " " + this.VERSION + "]"; 50 return "[" + this.NAME + " " + this.VERSION + "]";
41 }; 51 };
42 module.toString = function () { 52 module.toString = function () {
43 return this.__repr__(); 53 return this.__repr__();
44 }; 54 };
45 for (var i = 0; i < deps.length; i++) { 55 for (var i = 0; deps != null && i < deps.length; i++) {
46 if (!(deps[i] in MochiKit)) { 56 if (!(deps[i] in parent)) {
47 throw 'MochiKit.' + name + ' depends on MochiKit.' + deps[i] + '!'; 57 throw module.NAME + ' depends on ' + prefix + deps[i] + '!';
48 } 58 }
49 } 59 }
50} 60 return module;
61};
51 62
52MochiKit.Base._module("Base", "1.5", []); 63MochiKit.Base.module(MochiKit, "Base", "1.5", []);
53 64
54/** @id MochiKit.Base.update */ 65/** @id MochiKit.Base.update */
55MochiKit.Base.update = function (self, obj/*, ... */) { 66MochiKit.Base.update = function (self, obj/*, ... */) {
56 if (self === null || self === undefined) { 67 if (self === null || self === undefined) {
57 self = {}; 68 self = {};
58 } 69 }
@@ -237,12 +248,13 @@ MochiKit.Base.update(MochiKit.Base, {
237 return rval; 248 return rval;
238 }, 249 },
239 250
240 251
241 _newNamedError: function (module, name, func) { 252 _newNamedError: function (module, name, func) {
242 func.prototype = new MochiKit.Base.NamedError(module.NAME + "." + name); 253 func.prototype = new MochiKit.Base.NamedError(module.NAME + "." + name);
254 func.prototype.constructor = func;
243 module[name] = func; 255 module[name] = func;
244 }, 256 },
245 257
246 258
247 /** @id MochiKit.Base.operator */ 259 /** @id MochiKit.Base.operator */
248 operator: { 260 operator: {
@@ -348,13 +360,13 @@ MochiKit.Base.update(MochiKit.Base, {
348 } else if (typeof(value) === "string" || value instanceof String) { 360 } else if (typeof(value) === "string" || value instanceof String) {
349 return value.length > 0 && value != "false" && value != "null" && 361 return value.length > 0 && value != "false" && value != "null" &&
350 value != "undefined" && value != "0"; 362 value != "undefined" && value != "0";
351 } else if (typeof(value) === "number" || value instanceof Number) { 363 } else if (typeof(value) === "number" || value instanceof Number) {
352 return !isNaN(value) && value != 0; 364 return !isNaN(value) && value != 0;
353 } else if (value != null && typeof(value.length) === "number") { 365 } else if (value != null && typeof(value.length) === "number") {
354 return value.length !== 0 366 return value.length !== 0;
355 } else { 367 } else {
356 return value != null; 368 return value != null;
357 } 369 }
358 }, 370 },
359 371
360 /** @id MochiKit.Base.typeMatcher */ 372 /** @id MochiKit.Base.typeMatcher */
@@ -672,12 +684,15 @@ MochiKit.Base.update(MochiKit.Base, {
672 } 684 }
673 return me.im_func.apply(self, args); 685 return me.im_func.apply(self, args);
674 }; 686 };
675 newfunc.im_self = im_self; 687 newfunc.im_self = im_self;
676 newfunc.im_func = im_func; 688 newfunc.im_func = im_func;
677 newfunc.im_preargs = im_preargs; 689 newfunc.im_preargs = im_preargs;
690 if (typeof(im_func.NAME) == 'string') {
691 newfunc.NAME = "bind(" + im_func.NAME + ",...)";
692 }
678 return newfunc; 693 return newfunc;
679 }, 694 },
680 695
681 /** @id MochiKit.Base.bindLate */ 696 /** @id MochiKit.Base.bindLate */
682 bindLate: function (func, self/* args... */) { 697 bindLate: function (func, self/* args... */) {
683 var m = MochiKit.Base; 698 var m = MochiKit.Base;
@@ -785,17 +800,20 @@ MochiKit.Base.update(MochiKit.Base, {
785 return o.__repr__(); 800 return o.__repr__();
786 } else if (typeof(o.repr) == 'function' && o.repr != arguments.callee) { 801 } else if (typeof(o.repr) == 'function' && o.repr != arguments.callee) {
787 return o.repr(); 802 return o.repr();
788 } 803 }
789 return MochiKit.Base.reprRegistry.match(o); 804 return MochiKit.Base.reprRegistry.match(o);
790 } catch (e) { 805 } catch (e) {
791 if (typeof(o.NAME) == 'string' && ( 806 try {
792 o.toString == Function.prototype.toString || 807 if (typeof(o.NAME) == 'string' && (
793 o.toString == Object.prototype.toString 808 o.toString == Function.prototype.toString ||
794 )) { 809 o.toString == Object.prototype.toString
795 return o.NAME; 810 )) {
811 return o.NAME;
812 }
813 } catch (ignore) {
796 } 814 }
797 } 815 }
798 try { 816 try {
799 var ostring = (o + ""); 817 var ostring = (o + "");
800 } catch (e) { 818 } catch (e) {
801 return "[" + typeof(o) + "]"; 819 return "[" + typeof(o) + "]";
@@ -837,22 +855,19 @@ MochiKit.Base.update(MochiKit.Base, {
837 registerJSON: function (name, check, wrap, /* optional */override) { 855 registerJSON: function (name, check, wrap, /* optional */override) {
838 MochiKit.Base.jsonRegistry.register(name, check, wrap, override); 856 MochiKit.Base.jsonRegistry.register(name, check, wrap, override);
839 }, 857 },
840 858
841 859
842 /** @id MochiKit.Base.evalJSON */ 860 /** @id MochiKit.Base.evalJSON */
843 evalJSON: function () { 861 evalJSON: function (jsonText) {
844 return eval("(" + MochiKit.Base._filterJSON(arguments[0]) + ")"); 862 return eval("(" + MochiKit.Base._filterJSON(jsonText) + ")");
845 }, 863 },
846 864
847 _filterJSON: function (s) { 865 _filterJSON: function (s) {
848 var m = s.match(/^\s*\/\*(.*)\*\/\s*$/); 866 var m = s.match(/^\s*\/\*(.*)\*\/\s*$/);
849 if (m) { 867 return (m) ? m[1] : s;
850 return m[1];
851 }
852 return s;
853 }, 868 },
854 869
855 /** @id MochiKit.Base.serializeJSON */ 870 /** @id MochiKit.Base.serializeJSON */
856 serializeJSON: function (o) { 871 serializeJSON: function (o) {
857 var objtype = typeof(o); 872 var objtype = typeof(o);
858 if (objtype == "number" || objtype == "boolean") { 873 if (objtype == "number" || objtype == "boolean") {
@@ -891,12 +906,18 @@ MochiKit.Base.update(MochiKit.Base, {
891 } 906 }
892 // recurse 907 // recurse
893 var me = arguments.callee; 908 var me = arguments.callee;
894 // short-circuit for objects that support "json" serialization 909 // short-circuit for objects that support "json" serialization
895 // if they return "self" then just pass-through... 910 // if they return "self" then just pass-through...
896 var newObj; 911 var newObj;
912 if (typeof(o.toJSON) == "function") {
913 newObj = o.toJSON();
914 if (o !== newObj) {
915 return me(newObj);
916 }
917 }
897 if (typeof(o.__json__) == "function") { 918 if (typeof(o.__json__) == "function") {
898 newObj = o.__json__(); 919 newObj = o.__json__();
899 if (o !== newObj) { 920 if (o !== newObj) {
900 return me(newObj); 921 return me(newObj);
901 } 922 }
902 } 923 }
@@ -1097,13 +1118,13 @@ MochiKit.Base.update(MochiKit.Base, {
1097 median: function(/* lst... */) { 1118 median: function(/* lst... */) {
1098 /* http://www.nist.gov/dads/HTML/median.html */ 1119 /* http://www.nist.gov/dads/HTML/median.html */
1099 var data = MochiKit.Base.flattenArguments(arguments); 1120 var data = MochiKit.Base.flattenArguments(arguments);
1100 if (data.length === 0) { 1121 if (data.length === 0) {
1101 throw new TypeError('median() requires at least one argument'); 1122 throw new TypeError('median() requires at least one argument');
1102 } 1123 }
1103 data.sort(compare); 1124 data.sort(MochiKit.Base.compare);
1104 if (data.length % 2 == 0) { 1125 if (data.length % 2 == 0) {
1105 var upper = data.length / 2; 1126 var upper = data.length / 2;
1106 return (data[upper] + data[upper - 1]) / 2; 1127 return (data[upper] + data[upper - 1]) / 2;
1107 } else { 1128 } else {
1108 return data[(data.length - 1) / 2]; 1129 return data[(data.length - 1) / 2];
1109 } 1130 }
@@ -1287,25 +1308,51 @@ MochiKit.Base.AdapterRegistry.prototype = {
1287 } 1308 }
1288 } 1309 }
1289 return false; 1310 return false;
1290 } 1311 }
1291}; 1312};
1292 1313
1293MochiKit.Base._exportSymbols = function (globals, module) { 1314/**
1294 if (MochiKit.__export__ === false || module.__export__ === false) { 1315 * Exports all symbols from one or more modules into the specified
1295 return; 1316 * namespace (or scope). This is similar to MochiKit.Base.update(),
1296 } 1317 * except for special handling of the "__export__" flag, contained
1297 for (var k in module) { 1318 * sub-modules (exported recursively), and names starting with "_".
1298 var v = module[k]; 1319 *
1299 if (v != null) { 1320 * @param {Object} namespace the object or scope to modify
1300 var okName = (k[0] !== "_" && k !== "toString"); 1321 * @param {Object} module the module to export
1301 if (v.__export__ === true || (v.__export__ !== false && okName)) { 1322 */
1302 globals[k] = module[k]; 1323MochiKit.Base.moduleExport = function (namespace, module/*, ...*/) {
1324 var SKIP = { toString: true, NAME: true, VERSION: true };
1325 var mods = MochiKit.Base.extend([], arguments, 1);
1326 while ((module = mods.shift()) != null) {
1327 for (var k in module) {
1328 var v = module[k];
1329 if (v != null) {
1330 var flagSet = (typeof(v.__export__) == 'boolean');
1331 var nameValid = (k[0] !== "_" && !SKIP[k]);
1332 if (flagSet ? v.__export__ : nameValid) {
1333 if (typeof(v) == 'object' && v.NAME && v.VERSION) {
1334 mods.push(v);
1335 } else {
1336 namespace[k] = module[k];
1337 }
1338 }
1303 } 1339 }
1304 } 1340 }
1305 } 1341 }
1342 return namespace;
1343};
1344
1345/**
1346 * Identical to moduleExport, but also considers the global and
1347 * module-specific "__export__" flag.
1348 */
1349MochiKit.Base._exportSymbols = function (namespace, module) {
1350 if (MochiKit.__export__ !== false && module.__export__ !== false) {
1351 MochiKit.Base.moduleExport(namespace, module);
1352 }
1306}; 1353};
1307 1354
1308/** 1355/**
1309 * Creates a deprecated function alias in the specified module. The 1356 * Creates a deprecated function alias in the specified module. The
1310 * deprecated function will forward all calls and arguments to a 1357 * deprecated function will forward all calls and arguments to a
1311 * target function, while also logging a debug message on the first 1358 * target function, while also logging a debug message on the first
@@ -1318,13 +1365,13 @@ MochiKit.Base._exportSymbols = function (globals, module) {
1318 * @param {String} name the deprecated function name (e.g. 'getStyle') 1365 * @param {String} name the deprecated function name (e.g. 'getStyle')
1319 * @param {String} target the fully qualified name of the target 1366 * @param {String} target the fully qualified name of the target
1320 * function (e.g. 'MochiKit.Style.getStyle') 1367 * function (e.g. 'MochiKit.Style.getStyle')
1321 * @param {String} version the first version when the source function 1368 * @param {String} version the first version when the source function
1322 * was deprecated (e.g. '1.4') 1369 * was deprecated (e.g. '1.4')
1323 * @param {Boolean} [exportable] the exportable function flag, 1370 * @param {Boolean} [exportable] the exportable function flag,
1324 * defaults to true 1371 * defaults to false
1325 */ 1372 */
1326MochiKit.Base._deprecated = function (module, name, target, version, exportable) { 1373MochiKit.Base._deprecated = function (module, name, target, version, exportable) {
1327 if (typeof(module) === 'string') { 1374 if (typeof(module) === 'string') {
1328 if (module.indexOf('MochiKit.') === 0) { 1375 if (module.indexOf('MochiKit.') === 0) {
1329 module = module.substring(9); 1376 module = module.substring(9);
1330 } 1377 }
@@ -1346,48 +1393,47 @@ MochiKit.Base._deprecated = function (module, name, target, version, exportable)
1346 } 1393 }
1347 if (!MochiKit[targetModule]) { 1394 if (!MochiKit[targetModule]) {
1348 throw new Error(msg); 1395 throw new Error(msg);
1349 } 1396 }
1350 return MochiKit[targetModule][targetName].apply(this, arguments); 1397 return MochiKit[targetModule][targetName].apply(this, arguments);
1351 }; 1398 };
1352 if (exportable === false) { 1399 func.__export__ = (exportable === true);
1353 func.__export__ = false;
1354 }
1355 module[name] = func; 1400 module[name] = func;
1356} 1401};
1357 1402
1358MochiKit.Base.__new__ = function () { 1403MochiKit.Base.__new__ = function () {
1359 var m = this; 1404 var m = this;
1360 1405
1361 /** @id MochiKit.Base.noop */ 1406 /** @id MochiKit.Base.noop */
1362 m.noop = m.operator.identity; 1407 m.noop = m.operator.identity;
1363 1408
1364 // Backwards compat 1409 // Backwards compat
1365 m._deprecated(m, 'forward', 'MochiKit.Base.forwardCall', '1.3', false); 1410 m._deprecated(m, 'forward', 'MochiKit.Base.forwardCall', '1.3');
1366 m._deprecated(m, 'find', 'MochiKit.Base.findValue', '1.3', false); 1411 m._deprecated(m, 'find', 'MochiKit.Base.findValue', '1.3');
1367 1412
1368 if (typeof(encodeURIComponent) != "undefined") { 1413 if (typeof(encodeURIComponent) != "undefined") {
1369 /** @id MochiKit.Base.urlEncode */ 1414 /** @id MochiKit.Base.urlEncode */
1370 m.urlEncode = function (unencoded) { 1415 m.urlEncode = function (unencoded) {
1371 return encodeURIComponent(unencoded).replace(/\'/g, '%27'); 1416 return encodeURIComponent(unencoded).replace(/\'/g, '%27');
1372 }; 1417 };
1373 } else { 1418 } else {
1374 m.urlEncode = function (unencoded) { 1419 m.urlEncode = function (unencoded) {
1375 return escape(unencoded 1420 return escape(unencoded
1376 ).replace(/\+/g, '%2B' 1421 ).replace(/\+/g, '%2B'
1377 ).replace(/\"/g,'%22' 1422 ).replace(/\"/g,'%22'
1378 ).rval.replace(/\'/g, '%27'); 1423 ).replace(/\'/g, '%27');
1379 }; 1424 };
1380 } 1425 }
1381 1426
1382 /** @id MochiKit.Base.NamedError */ 1427 /** @id MochiKit.Base.NamedError */
1383 m.NamedError = function (name) { 1428 m.NamedError = function (name) {
1384 this.message = name; 1429 this.message = name;
1385 this.name = name; 1430 this.name = name;
1386 }; 1431 };
1387 m.NamedError.prototype = new Error(); 1432 m.NamedError.prototype = new Error();
1433 m.NamedError.prototype.constructor = m.NamedError;
1388 m.update(m.NamedError.prototype, { 1434 m.update(m.NamedError.prototype, {
1389 repr: function () { 1435 repr: function () {
1390 if (this.message && this.message != this.name) { 1436 if (this.message && this.message != this.name) {
1391 return this.name + "(" + m.repr(this.message) + ")"; 1437 return this.name + "(" + m.repr(this.message) + ")";
1392 } else { 1438 } else {
1393 return this.name + "()"; 1439 return this.name + "()";
@@ -1406,12 +1452,14 @@ MochiKit.Base.__new__ = function () {
1406 m.listMin = m.partial(m.listMinMax, -1); 1452 m.listMin = m.partial(m.listMinMax, -1);
1407 1453
1408 /** @id MochiKit.Base.isCallable */ 1454 /** @id MochiKit.Base.isCallable */
1409 m.isCallable = m.typeMatcher('function'); 1455 m.isCallable = m.typeMatcher('function');
1410 /** @id MochiKit.Base.isUndefined */ 1456 /** @id MochiKit.Base.isUndefined */
1411 m.isUndefined = m.typeMatcher('undefined'); 1457 m.isUndefined = m.typeMatcher('undefined');
1458 /** @id MochiKit.Base.isValue */
1459 m.isValue = m.typeMatcher('boolean', 'number', 'string');
1412 1460
1413 /** @id MochiKit.Base.merge */ 1461 /** @id MochiKit.Base.merge */
1414 m.merge = m.partial(m.update, null); 1462 m.merge = m.partial(m.update, null);
1415 /** @id MochiKit.Base.zip */ 1463 /** @id MochiKit.Base.zip */
1416 m.zip = m.partial(m.map, null); 1464 m.zip = m.partial(m.map, null);
1417 1465
diff --git a/frontend/gamma/js/MochiKit/Color.js b/frontend/gamma/js/MochiKit/Color.js
index 27dc2d0..f2a0f67 100644
--- a/frontend/gamma/js/MochiKit/Color.js
+++ b/frontend/gamma/js/MochiKit/Color.js
@@ -5,13 +5,13 @@ MochiKit.Color 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito and others. All rights Reserved. 7(c) 2005 Bob Ippolito and others. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Color', '1.5', ['Base', 'DOM', 'Style']); 11MochiKit.Base.module(MochiKit, 'Color', '1.5', ['Base', 'DOM', 'Style']);
12 12
13/** @id MochiKit.Color.Color */ 13/** @id MochiKit.Color.Color */
14MochiKit.Color.Color = function (red, green, blue, alpha) { 14MochiKit.Color.Color = function (red, green, blue, alpha) {
15 if (typeof(alpha) == 'undefined' || alpha === null) { 15 if (typeof(alpha) == 'undefined' || alpha === null) {
16 alpha = 1.0; 16 alpha = 1.0;
17 } 17 }
@@ -109,13 +109,13 @@ MochiKit.Color.Color.prototype = {
109 [b.r, b.g, b.b, b.a] 109 [b.r, b.g, b.b, b.a]
110 ); 110 );
111 }, 111 },
112 112
113 /** @id MochiKit.Color.Color.prototype.isLight */ 113 /** @id MochiKit.Color.Color.prototype.isLight */
114 isLight: function () { 114 isLight: function () {
115 return this.asHSL().b > 0.5; 115 return this.asHSL().l > 0.5;
116 }, 116 },
117 117
118 /** @id MochiKit.Color.Color.prototype.isDark */ 118 /** @id MochiKit.Color.Color.prototype.isDark */
119 isDark: function () { 119 isDark: function () {
120 return (!this.isLight()); 120 return (!this.isLight());
121 }, 121 },
@@ -638,25 +638,16 @@ MochiKit.Base.update(MochiKit.Color, {
638 /** @id MochiKit.Color.whiteColor */ 638 /** @id MochiKit.Color.whiteColor */
639 white: [1, 1, 1], 639 white: [1, 1, 1],
640 /** @id MochiKit.Color.yellowColor */ 640 /** @id MochiKit.Color.yellowColor */
641 yellow: [1, 1, 0] 641 yellow: [1, 1, 0]
642 }; 642 };
643 643
644 var makeColor = function (name, r, g, b, a) {
645 var rval = this.fromRGB(r, g, b, a);
646 this[name] = function () { return rval; };
647 return rval;
648 };
649
650 for (var k in colors) { 644 for (var k in colors) {
651 var name = k + "Color"; 645 var name = k + "Color";
652 var bindArgs = m.concat( 646 var value = this.Color.fromRGB.apply(this.Color, colors[k]);
653 [makeColor, this.Color, name], 647 this.Color[name] = m.partial(m.operator.identity, value);
654 colors[k]
655 );
656 this.Color[name] = m.bind.apply(null, bindArgs);
657 } 648 }
658 649
659 var isColor = function () { 650 var isColor = function () {
660 for (var i = 0; i < arguments.length; i++) { 651 for (var i = 0; i < arguments.length; i++) {
661 if (!(arguments[i] instanceof MochiKit.Color.Color)) { 652 if (!(arguments[i] instanceof MochiKit.Color.Color)) {
662 return false; 653 return false;
diff --git a/frontend/gamma/js/MochiKit/DOM.js b/frontend/gamma/js/MochiKit/DOM.js
index af5d46f..944ab78 100644
--- a/frontend/gamma/js/MochiKit/DOM.js
+++ b/frontend/gamma/js/MochiKit/DOM.js
@@ -5,13 +5,13 @@ MochiKit.DOM 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('DOM', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'DOM', '1.5', ['Base']);
12 12
13MochiKit.Base.update(MochiKit.DOM, { 13MochiKit.Base.update(MochiKit.DOM, {
14 14
15 /** @id MochiKit.DOM.currentWindow */ 15 /** @id MochiKit.DOM.currentWindow */
16 currentWindow: function () { 16 currentWindow: function () {
17 return MochiKit.DOM._window; 17 return MochiKit.DOM._window;
@@ -294,37 +294,37 @@ MochiKit.Base.update(MochiKit.DOM, {
294 }, 294 },
295 295
296 /** @id MochiKit.DOM.updateNodeAttributes */ 296 /** @id MochiKit.DOM.updateNodeAttributes */
297 updateNodeAttributes: function (node, attrs) { 297 updateNodeAttributes: function (node, attrs) {
298 var elem = node; 298 var elem = node;
299 var self = MochiKit.DOM; 299 var self = MochiKit.DOM;
300 var base = MochiKit.Base;
300 if (typeof(node) == 'string') { 301 if (typeof(node) == 'string') {
301 elem = self.getElement(node); 302 elem = self.getElement(node);
302 } 303 }
303 if (attrs) { 304 if (attrs) {
304 var updatetree = MochiKit.Base.updatetree;
305 if (self.attributeArray.compliant) { 305 if (self.attributeArray.compliant) {
306 // not IE, good. 306 // not IE, good.
307 for (var k in attrs) { 307 for (var k in attrs) {
308 var v = attrs[k]; 308 var v = attrs[k];
309 if (typeof(v) == 'object' && typeof(elem[k]) == 'object') { 309 if (typeof(v) == 'object' && typeof(elem[k]) == 'object') {
310 if (k == "style" && MochiKit.Style) { 310 if (k == "style" && MochiKit.Style) {
311 MochiKit.Style.setStyle(elem, v); 311 MochiKit.Style.setStyle(elem, v);
312 } else { 312 } else {
313 updatetree(elem[k], v); 313 base.updatetree(elem[k], v);
314 } 314 }
315 } else if (k.substring(0, 2) == "on") { 315 } else if (k.substring(0, 2) == "on") {
316 if (typeof(v) == "string") { 316 if (typeof(v) == "string") {
317 v = new Function(v); 317 v = new Function(v);
318 } 318 }
319 elem[k] = v; 319 elem[k] = v;
320 } else { 320 } else {
321 elem.setAttribute(k, v); 321 elem.setAttribute(k, v);
322 } 322 }
323 if (typeof(elem[k]) == "string" && elem[k] != v) { 323 if (base.isValue(elem[k]) && elem[k] != v) {
324 // Also set property for weird attributes (see #302) 324 // Also set property for weird attributes (see #302 & #335)
325 elem[k] = v; 325 elem[k] = v;
326 } 326 }
327 } 327 }
328 } else { 328 } else {
329 // IE is insane in the membrane 329 // IE is insane in the membrane
330 var renames = self.attributeArray.renames; 330 var renames = self.attributeArray.renames;
@@ -337,24 +337,24 @@ MochiKit.Base.update(MochiKit.DOM, {
337 elem[renamed] = v; 337 elem[renamed] = v;
338 } else if (typeof(elem[k]) == 'object' 338 } else if (typeof(elem[k]) == 'object'
339 && typeof(v) == 'object') { 339 && typeof(v) == 'object') {
340 if (k == "style" && MochiKit.Style) { 340 if (k == "style" && MochiKit.Style) {
341 MochiKit.Style.setStyle(elem, v); 341 MochiKit.Style.setStyle(elem, v);
342 } else { 342 } else {
343 updatetree(elem[k], v); 343 base.updatetree(elem[k], v);
344 } 344 }
345 } else if (k.substring(0, 2) == "on") { 345 } else if (k.substring(0, 2) == "on") {
346 if (typeof(v) == "string") { 346 if (typeof(v) == "string") {
347 v = new Function(v); 347 v = new Function(v);
348 } 348 }
349 elem[k] = v; 349 elem[k] = v;
350 } else { 350 } else {
351 elem.setAttribute(k, v); 351 elem.setAttribute(k, v);
352 } 352 }
353 if (typeof(elem[k]) == "string" && elem[k] != v) { 353 if (base.isValue(elem[k]) && elem[k] != v) {
354 // Also set property for weird attributes (see #302) 354 // Also set property for weird attributes (see #302 & #335)
355 elem[k] = v; 355 elem[k] = v;
356 } 356 }
357 } 357 }
358 } 358 }
359 } 359 }
360 return elem; 360 return elem;
@@ -987,12 +987,13 @@ MochiKit.Base.update(MochiKit.DOM, {
987 "class": "className", 987 "class": "className",
988 "checked": "defaultChecked", 988 "checked": "defaultChecked",
989 "usemap": "useMap", 989 "usemap": "useMap",
990 "for": "htmlFor", 990 "for": "htmlFor",
991 "readonly": "readOnly", 991 "readonly": "readOnly",
992 "colspan": "colSpan", 992 "colspan": "colSpan",
993 "rowspan": "rowSpan",
993 "bgcolor": "bgColor", 994 "bgcolor": "bgColor",
994 "cellspacing": "cellSpacing", 995 "cellspacing": "cellSpacing",
995 "cellpadding": "cellPadding" 996 "cellpadding": "cellPadding"
996 }; 997 };
997 } else { 998 } else {
998 attributeArray = function (node) { 999 attributeArray = function (node) {
@@ -1004,13 +1005,13 @@ MochiKit.Base.update(MochiKit.DOM, {
1004 } 1005 }
1005 attributeArray.__export__ = false; 1006 attributeArray.__export__ = false;
1006 this.attributeArray = attributeArray; 1007 this.attributeArray = attributeArray;
1007 1008
1008 // Backwards compatibility aliases 1009 // Backwards compatibility aliases
1009 /** @id MochiKit.DOM.computedStyle */ 1010 /** @id MochiKit.DOM.computedStyle */
1010 m._deprecated(this, 'computedStyle', 'MochiKit.Style.getStyle', '1.4'); 1011 m._deprecated(this, 'computedStyle', 'MochiKit.Style.getStyle', '1.4', true);
1011 /** @id MochiKit.DOM.elementDimensions */ 1012 /** @id MochiKit.DOM.elementDimensions */
1012 m._deprecated(this, 'elementDimensions', 'MochiKit.Style.getElementDimensions', '1.4'); 1013 m._deprecated(this, 'elementDimensions', 'MochiKit.Style.getElementDimensions', '1.4');
1013 /** @id MochiKit.DOM.elementPosition */ 1014 /** @id MochiKit.DOM.elementPosition */
1014 m._deprecated(this, 'elementPosition', 'MochiKit.Style.getElementPosition', '1.4'); 1015 m._deprecated(this, 'elementPosition', 'MochiKit.Style.getElementPosition', '1.4');
1015 /** @id MochiKit.DOM.getViewportDimensions */ 1016 /** @id MochiKit.DOM.getViewportDimensions */
1016 m._deprecated(this, 'getViewportDimensions', 'MochiKit.Style.getViewportDimensions', '1.4'); 1017 m._deprecated(this, 'getViewportDimensions', 'MochiKit.Style.getViewportDimensions', '1.4');
@@ -1038,98 +1039,132 @@ MochiKit.Base.update(MochiKit.DOM, {
1038 m._deprecated(this, 'Coordinates', 'MochiKit.Style.Coordinates', '1.4'); 1039 m._deprecated(this, 'Coordinates', 'MochiKit.Style.Coordinates', '1.4');
1039 /** @id MochiKit.DOM.Dimensions */ 1040 /** @id MochiKit.DOM.Dimensions */
1040 m._deprecated(this, 'Dimensions', 'MochiKit.Style.Dimensions', '1.4'); 1041 m._deprecated(this, 'Dimensions', 'MochiKit.Style.Dimensions', '1.4');
1041 1042
1042 // shorthand for createDOM syntax 1043 // shorthand for createDOM syntax
1043 var createDOMFunc = this.createDOMFunc; 1044 var createDOMFunc = this.createDOMFunc;
1044 /** @id MochiKit.DOM.UL */
1045 this.UL = createDOMFunc("ul");
1046 /** @id MochiKit.DOM.OL */
1047 this.OL = createDOMFunc("ol");
1048 /** @id MochiKit.DOM.LI */
1049 this.LI = createDOMFunc("li");
1050 /** @id MochiKit.DOM.DL */
1051 this.DL = createDOMFunc("dl");
1052 /** @id MochiKit.DOM.DT */
1053 this.DT = createDOMFunc("dt");
1054 /** @id MochiKit.DOM.DD */
1055 this.DD = createDOMFunc("dd");
1056 /** @id MochiKit.DOM.TD */
1057 this.TD = createDOMFunc("td");
1058 /** @id MochiKit.DOM.TR */
1059 this.TR = createDOMFunc("tr");
1060 /** @id MochiKit.DOM.TBODY */
1061 this.TBODY = createDOMFunc("tbody");
1062 /** @id MochiKit.DOM.THEAD */
1063 this.THEAD = createDOMFunc("thead");
1064 /** @id MochiKit.DOM.TFOOT */
1065 this.TFOOT = createDOMFunc("tfoot");
1066 /** @id MochiKit.DOM.TABLE */
1067 this.TABLE = createDOMFunc("table");
1068 /** @id MochiKit.DOM.TH */
1069 this.TH = createDOMFunc("th");
1070 /** @id MochiKit.DOM.INPUT */
1071 this.INPUT = createDOMFunc("input");
1072 /** @id MochiKit.DOM.SPAN */
1073 this.SPAN = createDOMFunc("span");
1074 /** @id MochiKit.DOM.A */ 1045 /** @id MochiKit.DOM.A */
1075 this.A = createDOMFunc("a"); 1046 this.A = createDOMFunc("a");
1076 /** @id MochiKit.DOM.DIV */ 1047 /** @id MochiKit.DOM.ARTICLE */
1077 this.DIV = createDOMFunc("div"); 1048 this.ARTICLE = createDOMFunc("article");
1078 /** @id MochiKit.DOM.IMG */ 1049 /** @id MochiKit.DOM.ASIDE */
1079 this.IMG = createDOMFunc("img"); 1050 this.ASIDE = createDOMFunc("aside");
1051 /** @id MochiKit.DOM.BR */
1052 this.BR = createDOMFunc("br");
1080 /** @id MochiKit.DOM.BUTTON */ 1053 /** @id MochiKit.DOM.BUTTON */
1081 this.BUTTON = createDOMFunc("button"); 1054 this.BUTTON = createDOMFunc("button");
1082 /** @id MochiKit.DOM.TT */ 1055 /** @id MochiKit.DOM.CANVAS */
1083 this.TT = createDOMFunc("tt"); 1056 this.CANVAS = createDOMFunc("canvas");
1084 /** @id MochiKit.DOM.PRE */ 1057 /** @id MochiKit.DOM.CAPTION */
1085 this.PRE = createDOMFunc("pre"); 1058 this.CAPTION = createDOMFunc("caption");
1059 /** @id MochiKit.DOM.DD */
1060 this.DD = createDOMFunc("dd");
1061 /** @id MochiKit.DOM.DIV */
1062 this.DIV = createDOMFunc("div");
1063 /** @id MochiKit.DOM.DL */
1064 this.DL = createDOMFunc("dl");
1065 /** @id MochiKit.DOM.DT */
1066 this.DT = createDOMFunc("dt");
1067 /** @id MochiKit.DOM.FIELDSET */
1068 this.FIELDSET = createDOMFunc("fieldset");
1069 /** @id MochiKit.DOM.FIGURE */
1070 this.FIGURE = createDOMFunc("figure");
1071 /** @id MochiKit.DOM.FIGCAPTION */
1072 this.FIGCAPTION = createDOMFunc("figcaption");
1073 /** @id MochiKit.DOM.FOOTER */
1074 this.FOOTER = createDOMFunc("footer");
1075 /** @id MochiKit.DOM.FORM */
1076 this.FORM = createDOMFunc("form");
1086 /** @id MochiKit.DOM.H1 */ 1077 /** @id MochiKit.DOM.H1 */
1087 this.H1 = createDOMFunc("h1"); 1078 this.H1 = createDOMFunc("h1");
1088 /** @id MochiKit.DOM.H2 */ 1079 /** @id MochiKit.DOM.H2 */
1089 this.H2 = createDOMFunc("h2"); 1080 this.H2 = createDOMFunc("h2");
1090 /** @id MochiKit.DOM.H3 */ 1081 /** @id MochiKit.DOM.H3 */
1091 this.H3 = createDOMFunc("h3"); 1082 this.H3 = createDOMFunc("h3");
1092 /** @id MochiKit.DOM.H4 */ 1083 /** @id MochiKit.DOM.H4 */
1093 this.H4 = createDOMFunc("h4"); 1084 this.H4 = createDOMFunc("h4");
1094 /** @id MochiKit.DOM.H5 */ 1085 /** @id MochiKit.DOM.H5 */
1095 this.H5 = createDOMFunc("h5"); 1086 this.H5 = createDOMFunc("h5");
1096 /** @id MochiKit.DOM.H6 */ 1087 /** @id MochiKit.DOM.H6 */
1097 this.H6 = createDOMFunc("h6"); 1088 this.H6 = createDOMFunc("h6");
1098 /** @id MochiKit.DOM.BR */ 1089 /** @id MochiKit.DOM.HEADER */
1099 this.BR = createDOMFunc("br"); 1090 this.HEADER = createDOMFunc("header");
1091 /** @id MochiKit.DOM.HGROUP */
1092 this.HGROUP = createDOMFunc("hgroup");
1100 /** @id MochiKit.DOM.HR */ 1093 /** @id MochiKit.DOM.HR */
1101 this.HR = createDOMFunc("hr"); 1094 this.HR = createDOMFunc("hr");
1095 /** @id MochiKit.DOM.IFRAME */
1096 this.IFRAME = createDOMFunc("iframe");
1097 /** @id MochiKit.DOM.IMG */
1098 this.IMG = createDOMFunc("img");
1099 /** @id MochiKit.DOM.INPUT */
1100 this.INPUT = createDOMFunc("input");
1102 /** @id MochiKit.DOM.LABEL */ 1101 /** @id MochiKit.DOM.LABEL */
1103 this.LABEL = createDOMFunc("label"); 1102 this.LABEL = createDOMFunc("label");
1104 /** @id MochiKit.DOM.TEXTAREA */ 1103 /** @id MochiKit.DOM.LEGEND */
1105 this.TEXTAREA = createDOMFunc("textarea"); 1104 this.LEGEND = createDOMFunc("legend");
1106 /** @id MochiKit.DOM.FORM */ 1105 /** @id MochiKit.DOM.LI */
1107 this.FORM = createDOMFunc("form"); 1106 this.LI = createDOMFunc("li");
1107 /** @id MochiKit.DOM.LINK */
1108 this.LINK = createDOMFunc("link");
1109 /** @id MochiKit.DOM.MARK */
1110 this.MARK = createDOMFunc("mark");
1111 /** @id MochiKit.DOM.METER */
1112 this.METER = createDOMFunc("meter");
1113 /** @id MochiKit.DOM.NAV */
1114 this.NAV = createDOMFunc("nav");
1115 /** @id MochiKit.DOM.OL */
1116 this.OL = createDOMFunc("ol");
1117 /** @id MochiKit.DOM.OPTGROUP */
1118 this.OPTGROUP = createDOMFunc("optgroup");
1119 /** @id MochiKit.DOM.OPTION */
1120 this.OPTION = createDOMFunc("option");
1108 /** @id MochiKit.DOM.P */ 1121 /** @id MochiKit.DOM.P */
1109 this.P = createDOMFunc("p"); 1122 this.P = createDOMFunc("p");
1123 /** @id MochiKit.DOM.PRE */
1124 this.PRE = createDOMFunc("pre");
1125 /** @id MochiKit.DOM.PROGRESS */
1126 this.PROGRESS = createDOMFunc("progress");
1127 /** @id MochiKit.DOM.SCRIPT */
1128 this.SCRIPT = createDOMFunc("script");
1129 /** @id MochiKit.DOM.SECTION */
1130 this.SECTION = createDOMFunc("section");
1110 /** @id MochiKit.DOM.SELECT */ 1131 /** @id MochiKit.DOM.SELECT */
1111 this.SELECT = createDOMFunc("select"); 1132 this.SELECT = createDOMFunc("select");
1112 /** @id MochiKit.DOM.OPTION */ 1133 /** @id MochiKit.DOM.SPAN */
1113 this.OPTION = createDOMFunc("option"); 1134 this.SPAN = createDOMFunc("span");
1114 /** @id MochiKit.DOM.OPTGROUP */
1115 this.OPTGROUP = createDOMFunc("optgroup");
1116 /** @id MochiKit.DOM.LEGEND */
1117 this.LEGEND = createDOMFunc("legend");
1118 /** @id MochiKit.DOM.FIELDSET */
1119 this.FIELDSET = createDOMFunc("fieldset");
1120 /** @id MochiKit.DOM.STRONG */ 1135 /** @id MochiKit.DOM.STRONG */
1121 this.STRONG = createDOMFunc("strong"); 1136 this.STRONG = createDOMFunc("strong");
1122 /** @id MochiKit.DOM.CANVAS */ 1137 /** @id MochiKit.DOM.STYLE */
1123 this.CANVAS = createDOMFunc("canvas"); 1138 this.STYLE = createDOMFunc("style");
1124 1139 /** @id MochiKit.DOM.TABLE */
1140 this.TABLE = createDOMFunc("table");
1141 /** @id MochiKit.DOM.TBODY */
1142 this.TBODY = createDOMFunc("tbody");
1143 /** @id MochiKit.DOM.TD */
1144 this.TD = createDOMFunc("td");
1145 /** @id MochiKit.DOM.TEXTAREA */
1146 this.TEXTAREA = createDOMFunc("textarea");
1147 /** @id MochiKit.DOM.TFOOT */
1148 this.TFOOT = createDOMFunc("tfoot");
1149 /** @id MochiKit.DOM.TH */
1150 this.TH = createDOMFunc("th");
1151 /** @id MochiKit.DOM.THEAD */
1152 this.THEAD = createDOMFunc("thead");
1153 /** @id MochiKit.DOM.TR */
1154 this.TR = createDOMFunc("tr");
1155 /** @id MochiKit.DOM.TT */
1156 this.TT = createDOMFunc("tt");
1157 /** @id MochiKit.DOM.UL */
1158 this.UL = createDOMFunc("ul");
1159 /** @id MochiKit.DOM.NBSP */
1160 this.NBSP = "\u00a0";
1125 /** @id MochiKit.DOM.$ */ 1161 /** @id MochiKit.DOM.$ */
1126 this.$ = this.getElement; 1162 this.$ = this.getElement;
1127 1163
1128 m.nameFunctions(this); 1164 m.nameFunctions(this);
1129
1130 } 1165 }
1131}); 1166});
1132 1167
1133 1168
1134MochiKit.DOM.__new__(((typeof(window) == "undefined") ? this : window)); 1169MochiKit.DOM.__new__(((typeof(window) == "undefined") ? this : window));
1135 1170
diff --git a/frontend/gamma/js/MochiKit/DateTime.js b/frontend/gamma/js/MochiKit/DateTime.js
index c7b2d25..658084c 100644
--- a/frontend/gamma/js/MochiKit/DateTime.js
+++ b/frontend/gamma/js/MochiKit/DateTime.js
@@ -5,28 +5,28 @@ MochiKit.DateTime 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('DateTime', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'DateTime', '1.5', ['Base']);
12 12
13/** @id MochiKit.DateTime.isoDate */ 13/** @id MochiKit.DateTime.isoDate */
14MochiKit.DateTime.isoDate = function (str) { 14MochiKit.DateTime.isoDate = function (str) {
15 str = str + ""; 15 str = str + "";
16 if (typeof(str) != "string" || str.length === 0) { 16 if (typeof(str) != "string" || str.length === 0) {
17 return null; 17 return null;
18 } 18 }
19 var iso = str.split('-'); 19 var iso = str.split('-');
20 if (iso.length === 0) { 20 if (iso.length === 0) {
21 return null; 21 return null;
22 } 22 }
23 var date = new Date(iso[0], iso[1] - 1, iso[2]); 23 var date = new Date(parseInt(iso[0], 10), parseInt(iso[1], 10) - 1, parseInt(iso[2], 10));
24 date.setFullYear(iso[0]); 24 date.setFullYear(iso[0]);
25 date.setMonth(iso[1] - 1); 25 date.setMonth(iso[1] - 1);
26 date.setDate(iso[2]); 26 date.setDate(iso[2]);
27 return date; 27 return date;
28}; 28};
29 29
30MochiKit.DateTime._isoRegexp = /(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/; 30MochiKit.DateTime._isoRegexp = /(\d{4,})(?:-(\d{1,2})(?:-(\d{1,2})(?:[T ](\d{1,2}):(\d{1,2})(?::(\d{1,2})(?:\.(\d+))?)?(?:(Z)|([+-])(\d{1,2})(?::(\d{1,2}))?)?)?)?)?/;
31 31
32/** @id MochiKit.DateTime.isoTimestamp */ 32/** @id MochiKit.DateTime.isoTimestamp */
@@ -77,43 +77,46 @@ MochiKit.DateTime.isoTimestamp = function (str) {
77 77
78/** @id MochiKit.DateTime.toISOTime */ 78/** @id MochiKit.DateTime.toISOTime */
79MochiKit.DateTime.toISOTime = function (date, realISO/* = false */) { 79MochiKit.DateTime.toISOTime = function (date, realISO/* = false */) {
80 if (typeof(date) == "undefined" || date === null) { 80 if (typeof(date) == "undefined" || date === null) {
81 return null; 81 return null;
82 } 82 }
83 var hh = date.getHours(); 83 var _padTwo = MochiKit.DateTime._padTwo;
84 var mm = date.getMinutes(); 84 if (realISO) {
85 var ss = date.getSeconds(); 85 // adjust date for UTC timezone
86 date = new Date(date.getTime() + (date.getTimezoneOffset() * 60000));
87 }
86 var lst = [ 88 var lst = [
87 ((realISO && (hh < 10)) ? "0" + hh : hh), 89 (realISO ? _padTwo(date.getHours()) : date.getHours()),
88 ((mm < 10) ? "0" + mm : mm), 90 _padTwo(date.getMinutes()),
89 ((ss < 10) ? "0" + ss : ss) 91 _padTwo(date.getSeconds())
90 ]; 92 ];
91 return lst.join(":"); 93 return lst.join(":") + (realISO ? "Z" : "");
92}; 94};
93 95
94/** @id MochiKit.DateTime.toISOTimeStamp */ 96/** @id MochiKit.DateTime.toISOTimeStamp */
95MochiKit.DateTime.toISOTimestamp = function (date, realISO/* = false*/) { 97MochiKit.DateTime.toISOTimestamp = function (date, realISO/* = false*/) {
96 if (typeof(date) == "undefined" || date === null) { 98 if (typeof(date) == "undefined" || date === null) {
97 return null; 99 return null;
98 } 100 }
101 var time = MochiKit.DateTime.toISOTime(date, realISO);
99 var sep = realISO ? "T" : " "; 102 var sep = realISO ? "T" : " ";
100 var foot = realISO ? "Z" : "";
101 if (realISO) { 103 if (realISO) {
104 // adjust date for UTC timezone
102 date = new Date(date.getTime() + (date.getTimezoneOffset() * 60000)); 105 date = new Date(date.getTime() + (date.getTimezoneOffset() * 60000));
103 } 106 }
104 return MochiKit.DateTime.toISODate(date) + sep + MochiKit.DateTime.toISOTime(date, realISO) + foot; 107 return MochiKit.DateTime.toISODate(date) + sep + time;
105}; 108};
106 109
107/** @id MochiKit.DateTime.toISODate */ 110/** @id MochiKit.DateTime.toISODate */
108MochiKit.DateTime.toISODate = function (date) { 111MochiKit.DateTime.toISODate = function (date) {
109 if (typeof(date) == "undefined" || date === null) { 112 if (typeof(date) == "undefined" || date === null) {
110 return null; 113 return null;
111 } 114 }
112 var _padTwo = MochiKit.DateTime._padTwo; 115 var _padTwo = MochiKit.DateTime._padTwo;
113 var _padFour = MochiKit.DateTime._padFour; 116 var _padFour = MochiKit.DateTime._padFour;
114 return [ 117 return [
115 _padFour(date.getFullYear()), 118 _padFour(date.getFullYear()),
116 _padTwo(date.getMonth() + 1), 119 _padTwo(date.getMonth() + 1),
117 _padTwo(date.getDate()) 120 _padTwo(date.getDate())
118 ].join("-"); 121 ].join("-");
119}; 122};
@@ -130,20 +133,20 @@ MochiKit.DateTime.americanDate = function (d) {
130 133
131MochiKit.DateTime._padTwo = function (n) { 134MochiKit.DateTime._padTwo = function (n) {
132 return (n > 9) ? n : "0" + n; 135 return (n > 9) ? n : "0" + n;
133}; 136};
134 137
135MochiKit.DateTime._padFour = function(n) { 138MochiKit.DateTime._padFour = function(n) {
136 switch(n.toString().length) { 139 switch(n.toString().length) {
137 case 1: return "000" + n; break; 140 case 1: return "000" + n; break;
138 case 2: return "00" + n; break; 141 case 2: return "00" + n; break;
139 case 3: return "0" + n; break; 142 case 3: return "0" + n; break;
140 case 4: 143 case 4:
141 default: 144 default:
142 return n; 145 return n;
143 } 146 }
144}; 147};
145 148
146/** @id MochiKit.DateTime.toPaddedAmericanDate */ 149/** @id MochiKit.DateTime.toPaddedAmericanDate */
147MochiKit.DateTime.toPaddedAmericanDate = function (d) { 150MochiKit.DateTime.toPaddedAmericanDate = function (d) {
148 if (typeof(d) == "undefined" || d === null) { 151 if (typeof(d) == "undefined" || d === null) {
149 return null; 152 return null;
diff --git a/frontend/gamma/js/MochiKit/DragAndDrop.js b/frontend/gamma/js/MochiKit/DragAndDrop.js
index 62777c5..cf84f77 100644
--- a/frontend/gamma/js/MochiKit/DragAndDrop.js
+++ b/frontend/gamma/js/MochiKit/DragAndDrop.js
@@ -5,13 +5,13 @@ See <http://mochikit.com/> for documentation, downloads, license, etc.
5 5
6Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) 6Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
7 Mochi-ized By Thomas Herve (_firstname_@nimail.org) 7 Mochi-ized By Thomas Herve (_firstname_@nimail.org)
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('DragAndDrop', '1.5', ['Base', 'Iter', 'DOM', 'Signal', 'Visual', 'Position']); 11MochiKit.Base.module(MochiKit, 'DragAndDrop', '1.5', ['Base', 'Iter', 'DOM', 'Signal', 'Visual', 'Position']);
12 12
13MochiKit.DragAndDrop.Droppables = { 13MochiKit.DragAndDrop.Droppables = {
14 /*** 14 /***
15 15
16 Manage all droppables. Shouldn't be used, use the Droppable object instead. 16 Manage all droppables. Shouldn't be used, use the Droppable object instead.
17 17
@@ -303,14 +303,15 @@ MochiKit.DragAndDrop.Draggables = {
303 if (!this.activeDraggable) { 303 if (!this.activeDraggable) {
304 return; 304 return;
305 } 305 }
306 var pointer = event.mouse(); 306 var pointer = event.mouse();
307 // Mozilla-based browsers fire successive mousemove events with 307 // Mozilla-based browsers fire successive mousemove events with
308 // the same coordinates, prevent needless redrawing (moz bug?) 308 // the same coordinates, prevent needless redrawing (moz bug?)
309 if (this._lastPointer && (MochiKit.Base.repr(this._lastPointer.page) == 309 if (this._lastPointer &&
310 MochiKit.Base.repr(pointer.page))) { 310 this._lastPointer.page.x == pointer.page.x &&
311 this._lastPointer.page.y == pointer.page.y) {
311 return; 312 return;
312 } 313 }
313 this._lastPointer = pointer; 314 this._lastPointer = pointer;
314 this.activeDraggable.updateDrag(event, pointer); 315 this.activeDraggable.updateDrag(event, pointer);
315 }, 316 },
316 317
@@ -439,14 +440,14 @@ MochiKit.DragAndDrop.Draggable.prototype = {
439 }, 440 },
440 441
441 /** @id MochiKit.DragAndDrop.currentDelta */ 442 /** @id MochiKit.DragAndDrop.currentDelta */
442 currentDelta: function () { 443 currentDelta: function () {
443 var s = MochiKit.Style.getStyle; 444 var s = MochiKit.Style.getStyle;
444 return [ 445 return [
445 parseInt(s(this.element, 'left') || '0'), 446 parseInt(s(this.element, 'left') || '0', 10),
446 parseInt(s(this.element, 'top') || '0')]; 447 parseInt(s(this.element, 'top') || '0', 10)];
447 }, 448 },
448 449
449 /** @id MochiKit.DragAndDrop.initDrag */ 450 /** @id MochiKit.DragAndDrop.initDrag */
450 initDrag: function (event) { 451 initDrag: function (event) {
451 if (!event.mouse().button.left) { 452 if (!event.mouse().button.left) {
452 return; 453 return;
@@ -478,14 +479,13 @@ MochiKit.DragAndDrop.Draggable.prototype = {
478 this.dragging = true; 479 this.dragging = true;
479 if (this.options.selectclass) { 480 if (this.options.selectclass) {
480 MochiKit.DOM.addElementClass(this.element, 481 MochiKit.DOM.addElementClass(this.element,
481 this.options.selectclass); 482 this.options.selectclass);
482 } 483 }
483 if (this.options.zindex) { 484 if (this.options.zindex) {
484 this.originalZ = parseInt(MochiKit.Style.getStyle(this.element, 485 this.originalZ = MochiKit.Style.getStyle(this.element, 'z-index');
485 'z-index') || '0');
486 this.element.style.zIndex = this.options.zindex; 486 this.element.style.zIndex = this.options.zindex;
487 } 487 }
488 488
489 if (this.options.ghosting) { 489 if (this.options.ghosting) {
490 this._clone = this.element.cloneNode(true); 490 this._clone = this.element.cloneNode(true);
491 this.ghostPosition = MochiKit.Position.absolutize(this.element); 491 this.ghostPosition = MochiKit.Position.absolutize(this.element);
diff --git a/frontend/gamma/js/MochiKit/Format.js b/frontend/gamma/js/MochiKit/Format.js
index 122845e..58877e7 100644
--- a/frontend/gamma/js/MochiKit/Format.js
+++ b/frontend/gamma/js/MochiKit/Format.js
@@ -5,13 +5,13 @@ MochiKit.Format 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Format', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'Format', '1.5', ['Base']);
12 12
13MochiKit.Format._numberFormatter = function (placeholder, header, footer, locale, isPercent, precision, leadingZeros, separatorAt, trailingZeros) { 13MochiKit.Format._numberFormatter = function (placeholder, header, footer, locale, isPercent, precision, leadingZeros, separatorAt, trailingZeros) {
14 return function (num) { 14 return function (num) {
15 num = parseFloat(num); 15 num = parseFloat(num);
16 if (typeof(num) == "undefined" || num === null || isNaN(num)) { 16 if (typeof(num) == "undefined" || num === null || isNaN(num)) {
17 return placeholder; 17 return placeholder;
@@ -101,13 +101,13 @@ MochiKit.Format.numberFormatter = function (pattern, placeholder/* = "" */, loca
101 var fn = arguments.callee; 101 var fn = arguments.callee;
102 var args = m.concat(arguments); 102 var args = m.concat(arguments);
103 rval.repr = function () { 103 rval.repr = function () {
104 return [ 104 return [
105 self.NAME, 105 self.NAME,
106 "(", 106 "(",
107 map(m.repr, args).join(", "), 107 m.map(m.repr, args).join(", "),
108 ")" 108 ")"
109 ].join(""); 109 ].join("");
110 }; 110 };
111 } 111 }
112 return rval; 112 return rval;
113}; 113};
@@ -139,13 +139,13 @@ MochiKit.Format.twoDigitAverage = function (numerator, denominator) {
139 } 139 }
140 return "0"; 140 return "0";
141}; 141};
142 142
143/** @id MochiKit.Format.twoDigitFloat */ 143/** @id MochiKit.Format.twoDigitFloat */
144MochiKit.Format.twoDigitFloat = function (aNumber) { 144MochiKit.Format.twoDigitFloat = function (aNumber) {
145 var res = roundToFixed(aNumber, 2); 145 var res = MochiKit.Format.roundToFixed(aNumber, 2);
146 if (res.indexOf(".00") > 0) { 146 if (res.indexOf(".00") > 0) {
147 return res.substring(0, res.length - 3); 147 return res.substring(0, res.length - 3);
148 } else if (res.charAt(res.length - 1) == "0") { 148 } else if (res.charAt(res.length - 1) == "0") {
149 return res.substring(0, res.length - 1); 149 return res.substring(0, res.length - 1);
150 } else { 150 } else {
151 return res; 151 return res;
@@ -190,25 +190,25 @@ MochiKit.Format.truncToFixed = function (aNumber, precision) {
190 var fracPos = fixed.indexOf("."); 190 var fracPos = fixed.indexOf(".");
191 if (fracPos > 0 && fracPos + precision + 1 < fixed.length) { 191 if (fracPos > 0 && fracPos + precision + 1 < fixed.length) {
192 fixed = fixed.substring(0, fracPos + precision + 1); 192 fixed = fixed.substring(0, fracPos + precision + 1);
193 fixed = MochiKit.Format._shiftNumber(fixed, 0); 193 fixed = MochiKit.Format._shiftNumber(fixed, 0);
194 } 194 }
195 return fixed; 195 return fixed;
196} 196};
197 197
198/** @id MochiKit.Format.roundToFixed */ 198/** @id MochiKit.Format.roundToFixed */
199MochiKit.Format.roundToFixed = function (aNumber, precision) { 199MochiKit.Format.roundToFixed = function (aNumber, precision) {
200 var fixed = MochiKit.Format._numberToFixed(aNumber, precision); 200 var fixed = MochiKit.Format._numberToFixed(aNumber, precision);
201 var fracPos = fixed.indexOf("."); 201 var fracPos = fixed.indexOf(".");
202 if (fracPos > 0 && fracPos + precision + 1 < fixed.length) { 202 if (fracPos > 0 && fracPos + precision + 1 < fixed.length) {
203 var str = MochiKit.Format._shiftNumber(fixed, precision); 203 var str = MochiKit.Format._shiftNumber(fixed, precision);
204 str = MochiKit.Format._numberToFixed(Math.round(parseFloat(str)), 0); 204 str = MochiKit.Format._numberToFixed(Math.round(parseFloat(str)), 0);
205 fixed = MochiKit.Format._shiftNumber(str, -precision); 205 fixed = MochiKit.Format._shiftNumber(str, -precision);
206 } 206 }
207 return fixed; 207 return fixed;
208} 208};
209 209
210/** 210/**
211 * Converts a number to a fixed format string. This function handles 211 * Converts a number to a fixed format string. This function handles
212 * conversion of exponents by shifting the decimal point to the left 212 * conversion of exponents by shifting the decimal point to the left
213 * or the right. It also guarantees a specified minimum number of 213 * or the right. It also guarantees a specified minimum number of
214 * fractional digits (but no maximum). 214 * fractional digits (but no maximum).
@@ -218,26 +218,26 @@ MochiKit.Format.roundToFixed = function (aNumber, precision) {
218 * 218 *
219 * @return {String} the fixed format number string 219 * @return {String} the fixed format number string
220 */ 220 */
221MochiKit.Format._numberToFixed = function (aNumber, precision) { 221MochiKit.Format._numberToFixed = function (aNumber, precision) {
222 var str = aNumber.toString(); 222 var str = aNumber.toString();
223 var parts = str.split(/[eE]/); 223 var parts = str.split(/[eE]/);
224 var exp = (parts.length === 1) ? 0 : parseInt(parts[1]) || 0; 224 var exp = (parts.length === 1) ? 0 : parseInt(parts[1], 10) || 0;
225 var fixed = MochiKit.Format._shiftNumber(parts[0], exp); 225 var fixed = MochiKit.Format._shiftNumber(parts[0], exp);
226 parts = fixed.split(/\./); 226 parts = fixed.split(/\./);
227 var whole = parts[0]; 227 var whole = parts[0];
228 var frac = (parts.length === 1) ? "" : parts[1]; 228 var frac = (parts.length === 1) ? "" : parts[1];
229 while (frac.length < precision) { 229 while (frac.length < precision) {
230 frac += "0"; 230 frac += "0";
231 } 231 }
232 if (frac.length > 0) { 232 if (frac.length > 0) {
233 return whole + "." + frac; 233 return whole + "." + frac;
234 } else { 234 } else {
235 return whole; 235 return whole;
236 } 236 }
237} 237};
238 238
239/** 239/**
240 * Shifts the decimal dot location in a fixed format number string. 240 * Shifts the decimal dot location in a fixed format number string.
241 * This function handles negative values and will add and remove 241 * This function handles negative values and will add and remove
242 * leading and trailing zeros as needed. 242 * leading and trailing zeros as needed.
243 * 243 *
@@ -272,13 +272,13 @@ MochiKit.Format._shiftNumber = function (num, exp) {
272 num = num.substring(1); 272 num = num.substring(1);
273 } 273 }
274 while (/^-0[^.]/.test(num)) { 274 while (/^-0[^.]/.test(num)) {
275 num = "-" + num.substring(2); 275 num = "-" + num.substring(2);
276 } 276 }
277 return num; 277 return num;
278} 278};
279 279
280/** @id MochiKit.Format.percentFormat */ 280/** @id MochiKit.Format.percentFormat */
281MochiKit.Format.percentFormat = function (aNumber) { 281MochiKit.Format.percentFormat = function (aNumber) {
282 return MochiKit.Format.twoDigitFloat(100 * aNumber) + '%'; 282 return MochiKit.Format.twoDigitFloat(100 * aNumber) + '%';
283}; 283};
284 284
diff --git a/frontend/gamma/js/MochiKit/Iter.js b/frontend/gamma/js/MochiKit/Iter.js
index 524b2bc..77623bc 100644
--- a/frontend/gamma/js/MochiKit/Iter.js
+++ b/frontend/gamma/js/MochiKit/Iter.js
@@ -5,13 +5,13 @@ MochiKit.Iter 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Iter', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'Iter', '1.5', ['Base']);
12 12
13MochiKit.Base.update(MochiKit.Iter, { 13MochiKit.Base.update(MochiKit.Iter, {
14 /** @id MochiKit.Iter.registerIteratorFactory */ 14 /** @id MochiKit.Iter.registerIteratorFactory */
15 registerIteratorFactory: function (name, check, iterfactory, /* optional */ override) { 15 registerIteratorFactory: function (name, check, iterfactory, /* optional */ override) {
16 MochiKit.Iter.iteratorRegistry.register(name, check, iterfactory, override); 16 MochiKit.Iter.iteratorRegistry.register(name, check, iterfactory, override);
17 }, 17 },
@@ -219,20 +219,21 @@ MochiKit.Base.update(MochiKit.Iter, {
219 return { 219 return {
220 repr: function () { 220 repr: function () {
221 return "islice(" + ["...", start, stop, step].join(", ") + ")"; 221 return "islice(" + ["...", start, stop, step].join(", ") + ")";
222 }, 222 },
223 toString: m.forwardCall("repr"), 223 toString: m.forwardCall("repr"),
224 next: function () { 224 next: function () {
225 if (start >= stop) {
226 throw self.StopIteration;
227 }
228
225 var rval; 229 var rval;
226 while (i < start) { 230 while (i < start) {
227 rval = seq.next(); 231 rval = seq.next();
228 i++; 232 i++;
229 } 233 }
230 if (start >= stop) {
231 throw self.StopIteration;
232 }
233 start += step; 234 start += step;
234 return rval; 235 return rval;
235 } 236 }
236 }; 237 };
237 }, 238 },
238 239
@@ -277,21 +278,18 @@ MochiKit.Base.update(MochiKit.Iter, {
277 return { 278 return {
278 repr: function () { return "chain(...)"; }, 279 repr: function () { return "chain(...)"; },
279 toString: m.forwardCall("repr"), 280 toString: m.forwardCall("repr"),
280 next: function () { 281 next: function () {
281 while (argiter.length > 1) { 282 while (argiter.length > 1) {
282 try { 283 try {
283 var result = argiter[0].next(); 284 return argiter[0].next();
284 return result;
285 } catch (e) { 285 } catch (e) {
286 if (e != self.StopIteration) { 286 if (e != self.StopIteration) {
287 throw e; 287 throw e;
288 } 288 }
289 argiter.shift(); 289 argiter.shift();
290 var result = argiter[0].next();
291 return result;
292 } 290 }
293 } 291 }
294 if (argiter.length == 1) { 292 if (argiter.length == 1) {
295 // optimize last element 293 // optimize last element
296 var arg = argiter.shift(); 294 var arg = argiter.shift();
297 this.next = m.bind("next", arg); 295 this.next = m.bind("next", arg);
@@ -410,13 +408,13 @@ MochiKit.Base.update(MochiKit.Iter, {
410 } 408 }
411 return rval; 409 return rval;
412 } 410 }
413 411
414 var self = MochiKit.Iter; 412 var self = MochiKit.Iter;
415 iterable = self.iter(iterable); 413 iterable = self.iter(iterable);
416 var rval = []; 414 rval = [];
417 var a_val; 415 var a_val;
418 try { 416 try {
419 while (true) { 417 while (true) {
420 a_val = iterable.next(); 418 a_val = iterable.next();
421 rval.push(a_val); 419 rval.push(a_val);
422 } 420 }
diff --git a/frontend/gamma/js/MochiKit/Logging.js b/frontend/gamma/js/MochiKit/Logging.js
index f00996b..8b06e0b 100644
--- a/frontend/gamma/js/MochiKit/Logging.js
+++ b/frontend/gamma/js/MochiKit/Logging.js
@@ -5,13 +5,13 @@ MochiKit.Logging 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Logging', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'Logging', '1.5', ['Base']);
12 12
13 /** @id MochiKit.Logging.LogMessage */ 13 /** @id MochiKit.Logging.LogMessage */
14MochiKit.Logging.LogMessage = function (num, level, info) { 14MochiKit.Logging.LogMessage = function (num, level, info) {
15 this.num = num; 15 this.num = num;
16 this.level = level; 16 this.level = level;
17 this.info = info; 17 this.info = info;
@@ -184,13 +184,13 @@ MochiKit.Logging.Logger.prototype = {
184 getMessageText: function (howMany) { 184 getMessageText: function (howMany) {
185 if (typeof(howMany) == 'undefined' || howMany === null) { 185 if (typeof(howMany) == 'undefined' || howMany === null) {
186 howMany = 30; 186 howMany = 30;
187 } 187 }
188 var messages = this.getMessages(howMany); 188 var messages = this.getMessages(howMany);
189 if (messages.length) { 189 if (messages.length) {
190 var lst = map(function (m) { 190 var lst = MochiKit.Base.map(function (m) {
191 return '\n [' + m.num + '] ' + m.level + ': ' + m.info.join(' '); 191 return '\n [' + m.num + '] ' + m.level + ': ' + m.info.join(' ');
192 }, messages); 192 }, messages);
193 lst.unshift('LAST ' + messages.length + ' MESSAGES:'); 193 lst.unshift('LAST ' + messages.length + ' MESSAGES:');
194 return lst.join(''); 194 return lst.join('');
195 } 195 }
196 return ''; 196 return '';
diff --git a/frontend/gamma/js/MochiKit/LoggingPane.js b/frontend/gamma/js/MochiKit/LoggingPane.js
index c960c21..b7ea120 100644
--- a/frontend/gamma/js/MochiKit/LoggingPane.js
+++ b/frontend/gamma/js/MochiKit/LoggingPane.js
@@ -5,13 +5,13 @@ MochiKit.LoggingPane 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('LoggingPane', '1.5', ['Base', 'Logging']); 11MochiKit.Base.module(MochiKit, 'LoggingPane', '1.5', ['Base', 'Logging']);
12 12
13/** @id MochiKit.LoggingPane.createLoggingPane */ 13/** @id MochiKit.LoggingPane.createLoggingPane */
14MochiKit.LoggingPane.createLoggingPane = function (inline/* = false */) { 14MochiKit.LoggingPane.createLoggingPane = function (inline/* = false */) {
15 var m = MochiKit.LoggingPane; 15 var m = MochiKit.LoggingPane;
16 inline = !(!inline); 16 inline = !(!inline);
17 if (m._loggingPane && m._loggingPane.inline != inline) { 17 if (m._loggingPane && m._loggingPane.inline != inline) {
@@ -21,13 +21,16 @@ MochiKit.LoggingPane.createLoggingPane = function (inline/* = false */) {
21 if (!m._loggingPane || m._loggingPane.closed) { 21 if (!m._loggingPane || m._loggingPane.closed) {
22 m._loggingPane = new m.LoggingPane(inline, MochiKit.Logging.logger); 22 m._loggingPane = new m.LoggingPane(inline, MochiKit.Logging.logger);
23 } 23 }
24 return m._loggingPane; 24 return m._loggingPane;
25}; 25};
26 26
27/** @id MochiKit.LoggingPane.LoggingPane */ 27/**
28 * @id MochiKit.LoggingPane.LoggingPane
29 * @constructor
30 */
28MochiKit.LoggingPane.LoggingPane = function (inline/* = false */, logger/* = MochiKit.Logging.logger */) { 31MochiKit.LoggingPane.LoggingPane = function (inline/* = false */, logger/* = MochiKit.Logging.logger */) {
29 32
30 /* Use a div if inline, pop up a window if not */ 33 /* Use a div if inline, pop up a window if not */
31 /* Create the elements */ 34 /* Create the elements */
32 if (typeof(logger) == "undefined" || logger === null) { 35 if (typeof(logger) == "undefined" || logger === null) {
33 logger = MochiKit.Logging.logger; 36 logger = MochiKit.Logging.logger;
@@ -143,13 +146,13 @@ MochiKit.LoggingPane.LoggingPane = function (inline/* = false */, logger/* = Moc
143 try { 146 try {
144 /* Catch any exceptions that might arise due to invalid regexes */ 147 /* Catch any exceptions that might arise due to invalid regexes */
145 levelre = new RegExp(levelFilterField.value); 148 levelre = new RegExp(levelFilterField.value);
146 infore = new RegExp(infoFilterField.value); 149 infore = new RegExp(infoFilterField.value);
147 } catch(e) { 150 } catch(e) {
148 /* If there was an error with the regexes, do no filtering */ 151 /* If there was an error with the regexes, do no filtering */
149 logDebug("Error in filter regex: " + e.message); 152 MochiKit.Logging.logDebug("Error in filter regex: " + e.message);
150 return null; 153 return null;
151 } 154 }
152 155
153 return function (msg) { 156 return function (msg) {
154 return ( 157 return (
155 levelre.test(messageLevel(msg)) && 158 levelre.test(messageLevel(msg)) &&
@@ -181,13 +184,13 @@ MochiKit.LoggingPane.LoggingPane = function (inline/* = false */, logger/* = Moc
181 MochiKit.LoggingPane._loggingPane = null; 184 MochiKit.LoggingPane._loggingPane = null;
182 } 185 }
183 this.logger.removeListener(listenerId); 186 this.logger.removeListener(listenerId);
184 try { 187 try {
185 try { 188 try {
186 debugPane.loggingPane = null; 189 debugPane.loggingPane = null;
187 } catch(e) { logFatal("Bookmarklet was closed incorrectly."); } 190 } catch(e) { MochiKit.Logging.logFatal("Bookmarklet was closed incorrectly."); }
188 if (inline) { 191 if (inline) {
189 debugPane.parentNode.removeChild(debugPane); 192 debugPane.parentNode.removeChild(debugPane);
190 } else { 193 } else {
191 this.win.close(); 194 this.win.close();
192 } 195 }
193 } catch(e) {} 196 } catch(e) {}
@@ -221,13 +224,13 @@ MochiKit.LoggingPane.LoggingPane = function (inline/* = false */, logger/* = Moc
221 filterMessages(); 224 filterMessages();
222 }, this); 225 }, this);
223 226
224 /** @id MochiKit.LoggingPane.filterOnEnter */ 227 /** @id MochiKit.LoggingPane.filterOnEnter */
225 var filterOnEnter = bind(function (event) { 228 var filterOnEnter = bind(function (event) {
226 event = event || window.event; 229 event = event || window.event;
227 key = event.which || event.keyCode; 230 var key = event.which || event.keyCode;
228 if (key == 13) { 231 if (key == 13) {
229 this.buildAndApplyFilter(); 232 this.buildAndApplyFilter();
230 } 233 }
231 }, this); 234 }, this);
232 235
233 /* Create the debug pane */ 236 /* Create the debug pane */
diff --git a/frontend/gamma/js/MochiKit/MochiKit.js b/frontend/gamma/js/MochiKit/MochiKit.js
index 8e5be68..511e075 100644
--- a/frontend/gamma/js/MochiKit/MochiKit.js
+++ b/frontend/gamma/js/MochiKit/MochiKit.js
@@ -5,23 +5,20 @@ MochiKit.MochiKit 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11if (typeof(MochiKit) == 'undefined') { 11var MochiKit = MochiKit || {};
12 MochiKit = {};
13}
14 12
15if (typeof(MochiKit.MochiKit) == 'undefined') { 13/** @id MochiKit.MochiKit */
16 /** @id MochiKit.MochiKit */ 14MochiKit.MochiKit = MochiKit.MochiKit || {};
17 MochiKit.MochiKit = {};
18}
19 15
20MochiKit.MochiKit.NAME = "MochiKit.MochiKit"; 16MochiKit.MochiKit.NAME = "MochiKit.MochiKit";
21MochiKit.MochiKit.VERSION = "1.5"; 17MochiKit.MochiKit.VERSION = "1.5";
18MochiKit.MochiKit.__export__ = false;
22MochiKit.MochiKit.__repr__ = function () { 19MochiKit.MochiKit.__repr__ = function () {
23 return "[" + this.NAME + " " + this.VERSION + "]"; 20 return "[" + this.NAME + " " + this.VERSION + "]";
24}; 21};
25 22
26/** @id MochiKit.MochiKit.toString */ 23/** @id MochiKit.MochiKit.toString */
27MochiKit.MochiKit.toString = function () { 24MochiKit.MochiKit.toString = function () {
diff --git a/frontend/gamma/js/MochiKit/MockDOM.js b/frontend/gamma/js/MochiKit/MockDOM.js
index abdb54a..7e6d60b 100644
--- a/frontend/gamma/js/MochiKit/MockDOM.js
+++ b/frontend/gamma/js/MochiKit/MockDOM.js
@@ -5,22 +5,19 @@ MochiKit.MockDOM 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11if (typeof(MochiKit) == "undefined") { 11var MochiKit = MochiKit || {};
12 MochiKit = {};
13}
14 12
15if (typeof(MochiKit.MockDOM) == "undefined") { 13MochiKit.MockDOM = MochiKit.MockDOM || {};
16 MochiKit.MockDOM = {};
17}
18 14
19MochiKit.MockDOM.NAME = "MochiKit.MockDOM"; 15MochiKit.MockDOM.NAME = "MochiKit.MockDOM";
20MochiKit.MockDOM.VERSION = "1.5"; 16MochiKit.MockDOM.VERSION = "1.5";
17MochiKit.MockDOM.__export__ = false;
21 18
22MochiKit.MockDOM.__repr__ = function () { 19MochiKit.MockDOM.__repr__ = function () {
23 return "[" + this.NAME + " " + this.VERSION + "]"; 20 return "[" + this.NAME + " " + this.VERSION + "]";
24}; 21};
25 22
26/** @id MochiKit.MockDOM.toString */ 23/** @id MochiKit.MockDOM.toString */
diff --git a/frontend/gamma/js/MochiKit/Position.js b/frontend/gamma/js/MochiKit/Position.js
index 6bc5b39..2680507 100644
--- a/frontend/gamma/js/MochiKit/Position.js
+++ b/frontend/gamma/js/MochiKit/Position.js
@@ -5,13 +5,13 @@ MochiKit.Position 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005-2006 Bob Ippolito and others. All rights Reserved. 7(c) 2005-2006 Bob Ippolito and others. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Position', '1.5', ['Base', 'DOM', 'Style']); 11MochiKit.Base.module(MochiKit, 'Position', '1.5', ['Base', 'DOM', 'Style']);
12 12
13MochiKit.Base.update(MochiKit.Position, { 13MochiKit.Base.update(MochiKit.Position, {
14 // Don't export from this module 14 // Don't export from this module
15 __export__: false, 15 __export__: false,
16 16
17 // set to true if needed, warning: firefox performance problems 17 // set to true if needed, warning: firefox performance problems
diff --git a/frontend/gamma/js/MochiKit/Selector.js b/frontend/gamma/js/MochiKit/Selector.js
index 6aec892..3187fe9 100644
--- a/frontend/gamma/js/MochiKit/Selector.js
+++ b/frontend/gamma/js/MochiKit/Selector.js
@@ -5,13 +5,13 @@ MochiKit.Selector 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito and others. All rights Reserved. 7(c) 2005 Bob Ippolito and others. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Selector', '1.5', ['Base', 'DOM', 'Iter']); 11MochiKit.Base.module(MochiKit, 'Selector', '1.5', ['Base', 'DOM', 'Iter']);
12 12
13MochiKit.Selector.Selector = function (expression) { 13MochiKit.Selector.Selector = function (expression) {
14 this.params = {classNames: [], pseudoClassNames: []}; 14 this.params = {classNames: [], pseudoClassNames: []};
15 this.expression = expression.toString().replace(/(^\s+|\s+$)/g, ''); 15 this.expression = expression.toString().replace(/(^\s+|\s+$)/g, '');
16 this.parseExpression(); 16 this.parseExpression();
17 this.compileMatcher(); 17 this.compileMatcher();
@@ -124,14 +124,14 @@ MochiKit.Selector.Selector.prototype = {
124 a = 2; 124 a = 2;
125 b = 1; 125 b = 1;
126 } else if (match[0] == 'even') { 126 } else if (match[0] == 'even') {
127 a = 2; 127 a = 2;
128 b = 0; 128 b = 0;
129 } else { 129 } else {
130 a = match[2] && parseInt(match) || null; 130 a = match[2] && parseInt(match, 10) || null;
131 b = parseInt(match[3]); 131 b = parseInt(match[3], 10);
132 } 132 }
133 conditions.push('this.nthChild(element,' + a + ',' + b 133 conditions.push('this.nthChild(element,' + a + ',' + b
134 + ',' + !!pseudoClass.match('^nth-last') // Reverse 134 + ',' + !!pseudoClass.match('^nth-last') // Reverse
135 + ',' + !!pseudoClass.match('of-type$') // Restrict to same tagName 135 + ',' + !!pseudoClass.match('of-type$') // Restrict to same tagName
136 + ')'); 136 + ')');
137 break; 137 break;
@@ -164,23 +164,23 @@ MochiKit.Selector.Selector.prototype = {
164 break; 164 break;
165 case 'checked': 165 case 'checked':
166 conditions.push('(this.isUIElement(element) && element.checked === true)'); 166 conditions.push('(this.isUIElement(element) && element.checked === true)');
167 break; 167 break;
168 case 'not': 168 case 'not':
169 var subselector = new MochiKit.Selector.Selector(pseudoClassArgument); 169 var subselector = new MochiKit.Selector.Selector(pseudoClassArgument);
170 conditions.push('!( ' + subselector.buildMatchExpression() + ')') 170 conditions.push('!( ' + subselector.buildMatchExpression() + ')');
171 break; 171 break;
172 } 172 }
173 } 173 }
174 } 174 }
175 if (clause = params.attributes) { 175 if (clause = params.attributes) {
176 MochiKit.Base.map(function (attribute) { 176 MochiKit.Base.map(function (attribute) {
177 var value = 'MochiKit.DOM.getNodeAttribute(element, ' + repr(attribute.name) + ')'; 177 var value = 'MochiKit.DOM.getNodeAttribute(element, ' + repr(attribute.name) + ')';
178 var splitValueBy = function (delimiter) { 178 var splitValueBy = function (delimiter) {
179 return value + '.split(' + repr(delimiter) + ')'; 179 return value + '.split(' + repr(delimiter) + ')';
180 } 180 };
181 conditions.push(value + ' != null'); 181 conditions.push(value + ' != null');
182 switch (attribute.operator) { 182 switch (attribute.operator) {
183 case '=': 183 case '=':
184 conditions.push(value + ' == ' + repr(attribute.value)); 184 conditions.push(value + ' == ' + repr(attribute.value));
185 break; 185 break;
186 case '~=': 186 case '~=':
@@ -349,12 +349,18 @@ MochiKit.Base.update(MochiKit.Selector, {
349 res.push(arr[i]); 349 res.push(arr[i]);
350 } 350 }
351 } 351 }
352 return res; 352 return res;
353 }; 353 };
354 return MochiKit.Base.flattenArray(MochiKit.Base.map(function (expression) { 354 return MochiKit.Base.flattenArray(MochiKit.Base.map(function (expression) {
355 try {
356 var res = element.querySelectorAll(expression);
357 return Array.prototype.slice.call(res, 0);
358 } catch (ignore) {
359 // No querySelectorAll or extended expression syntax used
360 }
355 var nextScope = ""; 361 var nextScope = "";
356 var reducer = function (results, expr) { 362 var reducer = function (results, expr) {
357 var match = expr.match(/^[>+~]$/); 363 var match = expr.match(/^[>+~]$/);
358 if (match) { 364 if (match) {
359 nextScope = match[0]; 365 nextScope = match[0];
360 return results; 366 return results;
diff --git a/frontend/gamma/js/MochiKit/Signal.js b/frontend/gamma/js/MochiKit/Signal.js
index 7df5619..11590c1 100644
--- a/frontend/gamma/js/MochiKit/Signal.js
+++ b/frontend/gamma/js/MochiKit/Signal.js
@@ -5,13 +5,13 @@ MochiKit.Signal 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2006 Jonathan Gardner, Beau Hartshorne, Bob Ippolito. All rights Reserved. 7(c) 2006 Jonathan Gardner, Beau Hartshorne, Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Signal', '1.5', ['Base', 'DOM', 'Style']); 11MochiKit.Base.module(MochiKit, 'Signal', '1.5', ['Base', 'DOM']);
12 12
13MochiKit.Signal._observers = []; 13MochiKit.Signal._observers = [];
14 14
15/** @id MochiKit.Signal.Event */ 15/** @id MochiKit.Signal.Event */
16MochiKit.Signal.Event = function (src, e) { 16MochiKit.Signal.Event = function (src, e) {
17 this._event = e || window.event; 17 this._event = e || window.event;
@@ -263,22 +263,23 @@ MochiKit.Base.update(MochiKit.Signal.Event.prototype, {
263 263
264 var m = {}; 264 var m = {};
265 var e = this._event; 265 var e = this._event;
266 266
267 if (this.type() && ( 267 if (this.type() && (
268 this.type().indexOf('mouse') === 0 || 268 this.type().indexOf('mouse') === 0 ||
269 this.type().indexOf('drag') === 0 ||
269 this.type().indexOf('click') != -1 || 270 this.type().indexOf('click') != -1 ||
270 this.type() == 'contextmenu')) { 271 this.type() == 'contextmenu')) {
271 272
272 m.client = new MochiKit.Style.Coordinates(0, 0); 273 m.client = { x: 0, y: 0 };
273 if (e.clientX || e.clientY) { 274 if (e.clientX || e.clientY) {
274 m.client.x = (!e.clientX || e.clientX < 0) ? 0 : e.clientX; 275 m.client.x = (!e.clientX || e.clientX < 0) ? 0 : e.clientX;
275 m.client.y = (!e.clientY || e.clientY < 0) ? 0 : e.clientY; 276 m.client.y = (!e.clientY || e.clientY < 0) ? 0 : e.clientY;
276 } 277 }
277 278
278 m.page = new MochiKit.Style.Coordinates(0, 0); 279 m.page = { x: 0, y: 0 };
279 if (e.pageX || e.pageY) { 280 if (e.pageX || e.pageY) {
280 m.page.x = (!e.pageX || e.pageX < 0) ? 0 : e.pageX; 281 m.page.x = (!e.pageX || e.pageX < 0) ? 0 : e.pageX;
281 m.page.y = (!e.pageY || e.pageY < 0) ? 0 : e.pageY; 282 m.page.y = (!e.pageY || e.pageY < 0) ? 0 : e.pageY;
282 } else { 283 } else {
283 /* 284 /*
284 285
@@ -334,13 +335,13 @@ MochiKit.Base.update(MochiKit.Signal.Event.prototype, {
334 m.button.left = !!(e.button & 1); 335 m.button.left = !!(e.button & 1);
335 m.button.right = !!(e.button & 2); 336 m.button.right = !!(e.button & 2);
336 m.button.middle = !!(e.button & 4); 337 m.button.middle = !!(e.button & 4);
337 } 338 }
338 } 339 }
339 if (this.type() == 'mousewheel') { 340 if (this.type() == 'mousewheel') {
340 m.wheel = new MochiKit.Style.Coordinates(0, 0); 341 m.wheel = { x: 0, y: 0 };
341 if (e.wheelDeltaX || e.wheelDeltaY) { 342 if (e.wheelDeltaX || e.wheelDeltaY) {
342 m.wheel.x = e.wheelDeltaX / -40 || 0; 343 m.wheel.x = e.wheelDeltaX / -40 || 0;
343 m.wheel.y = e.wheelDeltaY / -40 || 0; 344 m.wheel.y = e.wheelDeltaY / -40 || 0;
344 } else if (e.wheelDelta) { 345 } else if (e.wheelDelta) {
345 m.wheel.y = e.wheelDelta / -40; 346 m.wheel.y = e.wheelDelta / -40;
346 } else { 347 } else {
@@ -669,12 +670,24 @@ MochiKit.Base.update(MochiKit.Signal, {
669 src.__connect__.apply(src, args); 670 src.__connect__.apply(src, args);
670 } 671 }
671 672
672 return ident; 673 return ident;
673 }, 674 },
674 675
676 /** @id MochiKit.Signal.connectOnce */
677 connectOnce: function (src, sig, objOrFunc/* optional */, funcOrStr) {
678 var self = MochiKit.Signal;
679 var ident1 = self.connect(src, sig, objOrFunc, funcOrStr);
680 var ident2;
681 ident2 = self.connect(src, sig, function() {
682 self.disconnect(ident1);
683 self.disconnect(ident2);
684 });
685 return ident1;
686 },
687
675 _disconnect: function (ident) { 688 _disconnect: function (ident) {
676 // already disconnected 689 // already disconnected
677 if (!ident.connected) { 690 if (!ident.connected) {
678 return; 691 return;
679 } 692 }
680 ident.connected = false; 693 ident.connected = false;
@@ -712,25 +725,25 @@ MochiKit.Base.update(MochiKit.Signal, {
712 var obj = arguments[2]; 725 var obj = arguments[2];
713 var func = arguments[3]; 726 var func = arguments[3];
714 for (var i = observers.length - 1; i >= 0; i--) { 727 for (var i = observers.length - 1; i >= 0; i--) {
715 var o = observers[i]; 728 var o = observers[i];
716 if (o.source === src && o.signal === sig && o.objOrFunc === obj && o.funcOrStr === func) { 729 if (o.source === src && o.signal === sig && o.objOrFunc === obj && o.funcOrStr === func) {
717 self._disconnect(o); 730 self._disconnect(o);
718 if (!self._lock) { 731 if (self._lock === 0) {
719 observers.splice(i, 1); 732 observers.splice(i, 1);
720 } else { 733 } else {
721 self._dirty = true; 734 self._dirty = true;
722 } 735 }
723 return true; 736 return true;
724 } 737 }
725 } 738 }
726 } else { 739 } else {
727 var idx = m.findIdentical(observers, ident); 740 var idx = m.findIdentical(observers, ident);
728 if (idx >= 0) { 741 if (idx >= 0) {
729 self._disconnect(ident); 742 self._disconnect(ident);
730 if (!self._lock) { 743 if (self._lock === 0) {
731 observers.splice(idx, 1); 744 observers.splice(idx, 1);
732 } else { 745 } else {
733 self._dirty = true; 746 self._dirty = true;
734 } 747 }
735 return true; 748 return true;
736 } 749 }
@@ -740,26 +753,26 @@ MochiKit.Base.update(MochiKit.Signal, {
740 753
741 /** @id MochiKit.Signal.disconnectAllTo */ 754 /** @id MochiKit.Signal.disconnectAllTo */
742 disconnectAllTo: function (objOrFunc, /* optional */funcOrStr) { 755 disconnectAllTo: function (objOrFunc, /* optional */funcOrStr) {
743 var self = MochiKit.Signal; 756 var self = MochiKit.Signal;
744 var observers = self._observers; 757 var observers = self._observers;
745 var disconnect = self._disconnect; 758 var disconnect = self._disconnect;
746 var locked = self._lock; 759 var lock = self._lock;
747 var dirty = self._dirty; 760 var dirty = self._dirty;
748 if (typeof(funcOrStr) === 'undefined') { 761 if (typeof(funcOrStr) === 'undefined') {
749 funcOrStr = null; 762 funcOrStr = null;
750 } 763 }
751 for (var i = observers.length - 1; i >= 0; i--) { 764 for (var i = observers.length - 1; i >= 0; i--) {
752 var ident = observers[i]; 765 var ident = observers[i];
753 if (ident.objOrFunc === objOrFunc && 766 if (ident.objOrFunc === objOrFunc &&
754 (funcOrStr === null || ident.funcOrStr === funcOrStr)) { 767 (funcOrStr === null || ident.funcOrStr === funcOrStr)) {
755 disconnect(ident); 768 disconnect(ident);
756 if (locked) { 769 if (lock === 0) {
757 dirty = true;
758 } else {
759 observers.splice(i, 1); 770 observers.splice(i, 1);
771 } else {
772 dirty = true;
760 } 773 }
761 } 774 }
762 } 775 }
763 self._dirty = dirty; 776 self._dirty = dirty;
764 }, 777 },
765 778
@@ -771,21 +784,21 @@ MochiKit.Base.update(MochiKit.Signal, {
771 var m = MochiKit.Base; 784 var m = MochiKit.Base;
772 var signals = m.flattenArguments(m.extend(null, arguments, 1)); 785 var signals = m.flattenArguments(m.extend(null, arguments, 1));
773 var self = MochiKit.Signal; 786 var self = MochiKit.Signal;
774 var disconnect = self._disconnect; 787 var disconnect = self._disconnect;
775 var observers = self._observers; 788 var observers = self._observers;
776 var i, ident; 789 var i, ident;
777 var locked = self._lock; 790 var lock = self._lock;
778 var dirty = self._dirty; 791 var dirty = self._dirty;
779 if (signals.length === 0) { 792 if (signals.length === 0) {
780 // disconnect all 793 // disconnect all
781 for (i = observers.length - 1; i >= 0; i--) { 794 for (i = observers.length - 1; i >= 0; i--) {
782 ident = observers[i]; 795 ident = observers[i];
783 if (ident.source === src) { 796 if (ident.source === src) {
784 disconnect(ident); 797 disconnect(ident);
785 if (!locked) { 798 if (lock === 0) {
786 observers.splice(i, 1); 799 observers.splice(i, 1);
787 } else { 800 } else {
788 dirty = true; 801 dirty = true;
789 } 802 }
790 } 803 }
791 } 804 }
@@ -795,13 +808,13 @@ MochiKit.Base.update(MochiKit.Signal, {
795 sigs[signals[i]] = true; 808 sigs[signals[i]] = true;
796 } 809 }
797 for (i = observers.length - 1; i >= 0; i--) { 810 for (i = observers.length - 1; i >= 0; i--) {
798 ident = observers[i]; 811 ident = observers[i];
799 if (ident.source === src && ident.signal in sigs) { 812 if (ident.source === src && ident.signal in sigs) {
800 disconnect(ident); 813 disconnect(ident);
801 if (!locked) { 814 if (lock === 0) {
802 observers.splice(i, 1); 815 observers.splice(i, 1);
803 } else { 816 } else {
804 dirty = true; 817 dirty = true;
805 } 818 }
806 } 819 }
807 } 820 }
@@ -815,13 +828,13 @@ MochiKit.Base.update(MochiKit.Signal, {
815 var observers = self._observers; 828 var observers = self._observers;
816 if (typeof(src) == "string") { 829 if (typeof(src) == "string") {
817 src = MochiKit.DOM.getElement(src); 830 src = MochiKit.DOM.getElement(src);
818 } 831 }
819 var args = MochiKit.Base.extend(null, arguments, 2); 832 var args = MochiKit.Base.extend(null, arguments, 2);
820 var errors = []; 833 var errors = [];
821 self._lock = true; 834 self._lock++;
822 for (var i = 0; i < observers.length; i++) { 835 for (var i = 0; i < observers.length; i++) {
823 var ident = observers[i]; 836 var ident = observers[i];
824 if (ident.source === src && ident.signal === sig && 837 if (ident.source === src && ident.signal === sig &&
825 ident.connected) { 838 ident.connected) {
826 try { 839 try {
827 if (ident.isDOM && ident.funcOrStr != null) { 840 if (ident.isDOM && ident.funcOrStr != null) {
@@ -834,14 +847,14 @@ MochiKit.Base.update(MochiKit.Signal, {
834 } 847 }
835 } catch (e) { 848 } catch (e) {
836 errors.push(e); 849 errors.push(e);
837 } 850 }
838 } 851 }
839 } 852 }
840 self._lock = false; 853 self._lock--;
841 if (self._dirty) { 854 if (self._lock === 0 && self._dirty) {
842 self._dirty = false; 855 self._dirty = false;
843 for (var i = observers.length - 1; i >= 0; i--) { 856 for (var i = observers.length - 1; i >= 0; i--) {
844 if (!observers[i].connected) { 857 if (!observers[i].connected) {
845 observers.splice(i, 1); 858 observers.splice(i, 1);
846 } 859 }
847 } 860 }
@@ -858,13 +871,13 @@ MochiKit.Base.update(MochiKit.Signal, {
858}); 871});
859 872
860MochiKit.Signal.__new__ = function (win) { 873MochiKit.Signal.__new__ = function (win) {
861 var m = MochiKit.Base; 874 var m = MochiKit.Base;
862 this._document = document; 875 this._document = document;
863 this._window = win; 876 this._window = win;
864 this._lock = false; 877 this._lock = 0;
865 this._dirty = false; 878 this._dirty = false;
866 879
867 try { 880 try {
868 this.connect(window, 'onunload', this._unloadCache); 881 this.connect(window, 'onunload', this._unloadCache);
869 } catch (e) { 882 } catch (e) {
870 // pass: might not be a browser 883 // pass: might not be a browser
diff --git a/frontend/gamma/js/MochiKit/Sortable.js b/frontend/gamma/js/MochiKit/Sortable.js
index 863b506..ca9db21 100644
--- a/frontend/gamma/js/MochiKit/Sortable.js
+++ b/frontend/gamma/js/MochiKit/Sortable.js
@@ -3,13 +3,13 @@ Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
3 Mochi-ized By Thomas Herve (_firstname_@nimail.org) 3 Mochi-ized By Thomas Herve (_firstname_@nimail.org)
4 4
5See scriptaculous.js for full license. 5See scriptaculous.js for full license.
6 6
7***/ 7***/
8 8
9MochiKit.Base._module('Sortable', '1.5', ['Base', 'Iter', 'DOM', 'Position', 'DragAndDrop']); 9MochiKit.Base.module(MochiKit, 'Sortable', '1.5', ['Base', 'Iter', 'DOM', 'Position', 'DragAndDrop']);
10 10
11MochiKit.Base.update(MochiKit.Sortable, { 11MochiKit.Base.update(MochiKit.Sortable, {
12 __export__: false, 12 __export__: false,
13 13
14 /*** 14 /***
15 15
@@ -176,21 +176,21 @@ MochiKit.Base.update(MochiKit.Sortable, {
176 overlap: options.overlap, 176 overlap: options.overlap,
177 containment: options.containment, 177 containment: options.containment,
178 hoverclass: options.hoverclass, 178 hoverclass: options.hoverclass,
179 onhover: self.onHover, 179 onhover: self.onHover,
180 tree: options.tree, 180 tree: options.tree,
181 accept: options.accept 181 accept: options.accept
182 } 182 };
183 183
184 var options_for_tree = { 184 var options_for_tree = {
185 onhover: self.onEmptyHover, 185 onhover: self.onEmptyHover,
186 overlap: options.overlap, 186 overlap: options.overlap,
187 containment: options.containment, 187 containment: options.containment,
188 hoverclass: options.hoverclass, 188 hoverclass: options.hoverclass,
189 accept: options.accept 189 accept: options.accept
190 } 190 };
191 191
192 // fix for gecko engine 192 // fix for gecko engine
193 MochiKit.DOM.removeEmptyTextNodes(element); 193 MochiKit.DOM.removeEmptyTextNodes(element);
194 194
195 options.draggables = []; 195 options.draggables = [];
196 options.droppables = []; 196 options.droppables = [];
@@ -427,17 +427,17 @@ MochiKit.Base.update(MochiKit.Sortable, {
427 id: encodeURIComponent(match ? match[1] : null), 427 id: encodeURIComponent(match ? match[1] : null),
428 element: element, 428 element: element,
429 parent: parent, 429 parent: parent,
430 children: [], 430 children: [],
431 position: parent.children.length, 431 position: parent.children.length,
432 container: self._findChildrenElement(children[i], options.treeTag.toUpperCase()) 432 container: self._findChildrenElement(children[i], options.treeTag.toUpperCase())
433 } 433 };
434 434
435 /* Get the element containing the children and recurse over it */ 435 /* Get the element containing the children and recurse over it */
436 if (child.container) { 436 if (child.container) {
437 self._tree(child.container, options, child) 437 self._tree(child.container, options, child);
438 } 438 }
439 439
440 parent.children.push (child); 440 parent.children.push (child);
441 } 441 }
442 442
443 return parent; 443 return parent;
@@ -472,13 +472,13 @@ MochiKit.Base.update(MochiKit.Sortable, {
472 var root = { 472 var root = {
473 id: null, 473 id: null,
474 parent: null, 474 parent: null,
475 children: new Array, 475 children: new Array,
476 container: element, 476 container: element,
477 position: 0 477 position: 0
478 } 478 };
479 479
480 return MochiKit.Sortable._tree(element, options, root); 480 return MochiKit.Sortable._tree(element, options, root);
481 }, 481 },
482 482
483 /** 483 /**
484 * Specifies the sequence for the Sortable. 484 * Specifies the sequence for the Sortable.
diff --git a/frontend/gamma/js/MochiKit/Style.js b/frontend/gamma/js/MochiKit/Style.js
index 7f10117..740fd2f 100644
--- a/frontend/gamma/js/MochiKit/Style.js
+++ b/frontend/gamma/js/MochiKit/Style.js
@@ -3,15 +3,18 @@
3MochiKit.Style 1.5 3MochiKit.Style 1.5
4 4
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005-2006 Bob Ippolito, Beau Hartshorne. All rights Reserved. 7(c) 2005-2006 Bob Ippolito, Beau Hartshorne. All rights Reserved.
8 8
9The MochiKit.Style.getElementPosition function is adapted from
10YAHOO.util.Dom.getXY v0.9.0. which is copyrighted by Yahoo! Inc.
11
9***/ 12***/
10 13
11MochiKit.Base._module('Style', '1.5', ['Base', 'DOM']); 14MochiKit.Base.module(MochiKit, 'Style', '1.5', ['Base', 'DOM']);
12 15
13 16
14/** @id MochiKit.Style.Dimensions */ 17/** @id MochiKit.Style.Dimensions */
15MochiKit.Style.Dimensions = function (w, h) { 18MochiKit.Style.Dimensions = function (w, h) {
16 if (!(this instanceof MochiKit.Style.Dimensions)) { 19 if (!(this instanceof MochiKit.Style.Dimensions)) {
17 return new MochiKit.Style.Dimensions(w, h); 20 return new MochiKit.Style.Dimensions(w, h);
@@ -176,13 +179,13 @@ MochiKit.Base.update(MochiKit.Style, {
176 var dom = MochiKit.DOM; 179 var dom = MochiKit.DOM;
177 var isCoordinates = function (o) { 180 var isCoordinates = function (o) {
178 return o != null && 181 return o != null &&
179 o.nodeType == null && 182 o.nodeType == null &&
180 typeof(o.x) == "number" && 183 typeof(o.x) == "number" &&
181 typeof(o.y) == "number"; 184 typeof(o.y) == "number";
182 } 185 };
183 186
184 if (typeof(elem) == "string") { 187 if (typeof(elem) == "string") {
185 elem = dom.getElement(elem); 188 elem = dom.getElement(elem);
186 } 189 }
187 if (elem == null || 190 if (elem == null ||
188 (!isCoordinates(elem) && self.getStyle(elem, 'display') == 'none')) { 191 (!isCoordinates(elem) && self.getStyle(elem, 'display') == 'none')) {
@@ -194,13 +197,13 @@ MochiKit.Base.update(MochiKit.Style, {
194 var parent = null; 197 var parent = null;
195 198
196 var d = MochiKit.DOM._document; 199 var d = MochiKit.DOM._document;
197 var de = d.documentElement; 200 var de = d.documentElement;
198 var b = d.body; 201 var b = d.body;
199 202
200 if (!elem.parentNode && elem.x && elem.y) { 203 if (isCoordinates(elem)) {
201 /* it's just a MochiKit.Style.Coordinates object */ 204 /* it's just a MochiKit.Style.Coordinates object */
202 c.x += elem.x || 0; 205 c.x += elem.x || 0;
203 c.y += elem.y || 0; 206 c.y += elem.y || 0;
204 } else if (elem.getBoundingClientRect) { // IE shortcut 207 } else if (elem.getBoundingClientRect) { // IE shortcut
205 /* 208 /*
206 209
@@ -225,14 +228,14 @@ MochiKit.Base.update(MochiKit.Style, {
225 c.x += elem.offsetLeft; 228 c.x += elem.offsetLeft;
226 c.y += elem.offsetTop; 229 c.y += elem.offsetTop;
227 parent = elem.offsetParent; 230 parent = elem.offsetParent;
228 231
229 if (parent != elem) { 232 if (parent != elem) {
230 while (parent) { 233 while (parent) {
231 c.x += parseInt(parent.style.borderLeftWidth) || 0; 234 c.x += parseInt(parent.style.borderLeftWidth, 10) || 0;
232 c.y += parseInt(parent.style.borderTopWidth) || 0; 235 c.y += parseInt(parent.style.borderTopWidth, 10) || 0;
233 c.x += parent.offsetLeft; 236 c.x += parent.offsetLeft;
234 c.y += parent.offsetTop; 237 c.y += parent.offsetTop;
235 parent = parent.offsetParent; 238 parent = parent.offsetParent;
236 } 239 }
237 } 240 }
238 241
@@ -387,13 +390,13 @@ MochiKit.Base.update(MochiKit.Style, {
387 originalWidth = elem.offsetWidth || 0; 390 originalWidth = elem.offsetWidth || 0;
388 originalHeight = elem.offsetHeight || 0; 391 originalHeight = elem.offsetHeight || 0;
389 } 392 }
390 if (contentSize) { 393 if (contentSize) {
391 var tableCell = 'colSpan' in elem && 'rowSpan' in elem; 394 var tableCell = 'colSpan' in elem && 'rowSpan' in elem;
392 var collapse = (tableCell && elem.parentNode && self.getStyle( 395 var collapse = (tableCell && elem.parentNode && self.getStyle(
393 elem.parentNode, 'borderCollapse') == 'collapse') 396 elem.parentNode, 'borderCollapse') == 'collapse');
394 if (collapse) { 397 if (collapse) {
395 if (/MSIE/.test(navigator.userAgent)) { 398 if (/MSIE/.test(navigator.userAgent)) {
396 var borderLeftQuota = elem.previousSibling? 0.5 : 1; 399 var borderLeftQuota = elem.previousSibling? 0.5 : 1;
397 var borderRightQuota = elem.nextSibling? 0.5 : 1; 400 var borderRightQuota = elem.nextSibling? 0.5 : 1;
398 } 401 }
399 else { 402 else {
@@ -540,14 +543,14 @@ MochiKit.Base.update(MochiKit.Style, {
540 } 543 }
541 for (var i = 0; i < inlines.length; i++) { 544 for (var i = 0; i < inlines.length; i++) {
542 this._defaultDisplay[inlines[i]] = 'inline'; 545 this._defaultDisplay[inlines[i]] = 'inline';
543 } 546 }
544 547
545 // Backwards compatibility aliases 548 // Backwards compatibility aliases
546 m._deprecated(this, 'elementPosition', 'MochiKit.Style.getElementPosition', '1.3'); 549 m._deprecated(this, 'elementPosition', 'MochiKit.Style.getElementPosition', '1.3', true);
547 m._deprecated(this, 'elementDimensions', 'MochiKit.Style.getElementDimensions', '1.3'); 550 m._deprecated(this, 'elementDimensions', 'MochiKit.Style.getElementDimensions', '1.3', true);
548 551
549 this.hideElement = m.partial(this.setDisplayForElement, 'none'); 552 this.hideElement = m.partial(this.setDisplayForElement, 'none');
550 // TODO: showElement could be improved by using getDefaultDisplay. 553 // TODO: showElement could be improved by using getDefaultDisplay.
551 this.showElement = m.partial(this.setDisplayForElement, 'block'); 554 this.showElement = m.partial(this.setDisplayForElement, 'block');
552 555
553 m.nameFunctions(this); 556 m.nameFunctions(this);
diff --git a/frontend/gamma/js/MochiKit/Test.js b/frontend/gamma/js/MochiKit/Test.js
index 9520ab2..f29670f 100644
--- a/frontend/gamma/js/MochiKit/Test.js
+++ b/frontend/gamma/js/MochiKit/Test.js
@@ -5,13 +5,13 @@ MochiKit.Test 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito. All rights Reserved. 7(c) 2005 Bob Ippolito. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Test', '1.5', ['Base']); 11MochiKit.Base.module(MochiKit, 'Test', '1.5', ['Base']);
12 12
13MochiKit.Test.runTests = function (obj) { 13MochiKit.Test.runTests = function (obj) {
14 if (typeof(obj) == "string") { 14 if (typeof(obj) == "string") {
15 // TODO: Remove this temporary API change advertisement 15 // TODO: Remove this temporary API change advertisement
16 throw new TypeError("Automatic module import not supported, call runTests() with proper object: " + obj); 16 throw new TypeError("Automatic module import not supported, call runTests() with proper object: " + obj);
17 } 17 }
diff --git a/frontend/gamma/js/MochiKit/Text.js b/frontend/gamma/js/MochiKit/Text.js
index a44f7e4..ff6366d 100644
--- a/frontend/gamma/js/MochiKit/Text.js
+++ b/frontend/gamma/js/MochiKit/Text.js
@@ -5,13 +5,13 @@ MochiKit.Text 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2008 Per Cederberg. All rights Reserved. 7(c) 2008 Per Cederberg. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Text', '1.5', ['Base', 'Format']); 11MochiKit.Base.module(MochiKit, 'Text', '1.5', ['Base', 'Format']);
12 12
13/** 13/**
14 * Checks if a text string starts with the specified substring. If 14 * Checks if a text string starts with the specified substring. If
15 * either of the two strings is null, false will be returned. 15 * either of the two strings is null, false will be returned.
16 * 16 *
17 * @param {String} substr the substring to search for 17 * @param {String} substr the substring to search for
@@ -19,13 +19,13 @@ MochiKit.Base._module('Text', '1.5', ['Base', 'Format']);
19 * 19 *
20 * @return {Boolean} true if the string starts with the substring, or 20 * @return {Boolean} true if the string starts with the substring, or
21 * false otherwise 21 * false otherwise
22 */ 22 */
23MochiKit.Text.startsWith = function (substr, str) { 23MochiKit.Text.startsWith = function (substr, str) {
24 return str != null && substr != null && str.indexOf(substr) == 0; 24 return str != null && substr != null && str.indexOf(substr) == 0;
25} 25};
26 26
27/** 27/**
28 * Checks if a text string ends with the specified substring. If 28 * Checks if a text string ends with the specified substring. If
29 * either of the two strings is null, false will be returned. 29 * either of the two strings is null, false will be returned.
30 * 30 *
31 * @param {String} substr the substring to search for 31 * @param {String} substr the substring to search for
@@ -34,13 +34,13 @@ MochiKit.Text.startsWith = function (substr, str) {
34 * @return {Boolean} true if the string ends with the substring, or 34 * @return {Boolean} true if the string ends with the substring, or
35 * false otherwise 35 * false otherwise
36 */ 36 */
37MochiKit.Text.endsWith = function (substr, str) { 37MochiKit.Text.endsWith = function (substr, str) {
38 return str != null && substr != null && 38 return str != null && substr != null &&
39 str.lastIndexOf(substr) == Math.max(str.length - substr.length, 0); 39 str.lastIndexOf(substr) == Math.max(str.length - substr.length, 0);
40} 40};
41 41
42/** 42/**
43 * Checks if a text string contains the specified substring. If 43 * Checks if a text string contains the specified substring. If
44 * either of the two strings is null, false will be returned. 44 * either of the two strings is null, false will be returned.
45 * 45 *
46 * @param {String} substr the substring to search for 46 * @param {String} substr the substring to search for
@@ -48,13 +48,13 @@ MochiKit.Text.endsWith = function (substr, str) {
48 * 48 *
49 * @return {Boolean} true if the string contains the substring, or 49 * @return {Boolean} true if the string contains the substring, or
50 * false otherwise 50 * false otherwise
51 */ 51 */
52MochiKit.Text.contains = function (substr, str) { 52MochiKit.Text.contains = function (substr, str) {
53 return str != null && substr != null && str.indexOf(substr) >= 0; 53 return str != null && substr != null && str.indexOf(substr) >= 0;
54} 54};
55 55
56/** 56/**
57 * Adds a character to the left-hand side of a string until it 57 * Adds a character to the left-hand side of a string until it
58 * reaches the specified minimum length. 58 * reaches the specified minimum length.
59 * 59 *
60 * @param {String} str the string to process 60 * @param {String} str the string to process
@@ -68,13 +68,13 @@ MochiKit.Text.padLeft = function (str, minLength, fillChar) {
68 str = str || ""; 68 str = str || "";
69 fillChar = fillChar || " "; 69 fillChar = fillChar || " ";
70 while (str.length < minLength) { 70 while (str.length < minLength) {
71 str = fillChar + str; 71 str = fillChar + str;
72 } 72 }
73 return str; 73 return str;
74} 74};
75 75
76/** 76/**
77 * Adds a character to the right-hand side of a string until it 77 * Adds a character to the right-hand side of a string until it
78 * reaches the specified minimum length. 78 * reaches the specified minimum length.
79 * 79 *
80 * @param {String} str the string to process 80 * @param {String} str the string to process
@@ -88,13 +88,13 @@ MochiKit.Text.padRight = function (str, minLength, fillChar) {
88 str = str || ""; 88 str = str || "";
89 fillChar = fillChar || " "; 89 fillChar = fillChar || " ";
90 while (str.length < minLength) { 90 while (str.length < minLength) {
91 str += fillChar; 91 str += fillChar;
92 } 92 }
93 return str; 93 return str;
94} 94};
95 95
96/** 96/**
97 * Returns a truncated copy of a string. If the string is shorter 97 * Returns a truncated copy of a string. If the string is shorter
98 * than the specified maximum length, the object will be returned 98 * than the specified maximum length, the object will be returned
99 * unmodified. If an optional tail string is specified, additional 99 * unmodified. If an optional tail string is specified, additional
100 * elements will be removed in order to accomodate the tail (that 100 * elements will be removed in order to accomodate the tail (that
@@ -116,35 +116,61 @@ MochiKit.Text.truncate = function (str, maxLength, tail) {
116 } else { 116 } else {
117 return MochiKit.Base.extend(str, tail); 117 return MochiKit.Base.extend(str, tail);
118 } 118 }
119 } else { 119 } else {
120 return str.slice(0, maxLength); 120 return str.slice(0, maxLength);
121 } 121 }
122} 122};
123 123
124/** 124/**
125 * Splits a text string, applies a function and joins the results 125 * Splits a text string using separator as the split point
126 * back together again. This is a convenience function for calling 126 * If max is given, at most max splits are done, giving at most
127 * split(), map() and join() separately. It can be used to easily 127 * max + 1 elements in the returned list.
128 * trim each line in a text string (using the strip function), or to
129 * translate a text word-by-word.
130 * 128 *
131 * @param {Function} func the function to apply
132 * @param {String} str the string to split 129 * @param {String} str the string to split
133 * @param {String} [separator] the separator character to use, 130 * @param {String/RegExp} [separator] the separator char or regexp to use,
134 * defaults to newline 131 * defaults to newline
132 * @param {Number} [max] the maximum number of parts to return
133 * @return {Array} an array of parts of the string
134 */
135MochiKit.Text.split = function (str, separator, max) {
136 if (str == null) {
137 return str;
138 }
139 separator = separator || '\n';
140 var bits = str.split(separator);
141 if ((typeof(max) == "undefined") || max >= bits.length - 1) {
142 return bits;
143 }
144 bits.splice(max, bits.length, bits.slice(max, bits.length).join(separator));
145 return bits;
146};
147
148/**
149 * Splits a text string using separator as the split point
150 * If max is given, at most max splits are done,
151 * using splits from the right
135 * 152 *
136 * @return {String} a string with the joined up results 153 * @param {String} str the string to split
154 * @param {String/RegExp} [separator] the separator char or regexp to use,
155 * defaults to newline
156 * @param {Number} [max] the maximum number of parts to return
157 * @return {Array} an array of parts of the string
137 */ 158 */
138MochiKit.Text.splitJoin = function (func, str, separator) { 159MochiKit.Text.rsplit = function (str, separator, max) {
139 if (str == null || str.length == 0) { 160 if (str == null) {
140 return str; 161 return str;
141 } 162 }
142 separator = separator || '\n' 163 separator = separator || '\n';
143 return MochiKit.Base.map(func, str.split(separator)).join(separator); 164 var bits = str.split(separator);
144} 165 if ((typeof(max) == "undefined") || max >= bits.length - 1){
166 return bits;
167 }
168 bits.splice(0, bits.length-max, bits.slice(0, bits.length-max).join(separator));
169 return bits;
170};
145 171
146/** 172/**
147 * Creates a formatter function for the specified formatter pattern 173 * Creates a formatter function for the specified formatter pattern
148 * and locale. The returned function takes as many arguments as the 174 * and locale. The returned function takes as many arguments as the
149 * formatter pattern requires. See separate documentation for 175 * formatter pattern requires. See separate documentation for
150 * information about the formatter pattern syntax. 176 * information about the formatter pattern syntax.
@@ -155,13 +181,13 @@ MochiKit.Text.splitJoin = function (func, str, separator) {
155 * 181 *
156 * @return {Function} the formatter function created 182 * @return {Function} the formatter function created
157 * 183 *
158 * @throws FormatPatternError if the format pattern was invalid 184 * @throws FormatPatternError if the format pattern was invalid
159 */ 185 */
160MochiKit.Text.formatter = function (pattern, locale) { 186MochiKit.Text.formatter = function (pattern, locale) {
161 if (typeof(locale) == "undefined") { 187 if (locale == null) {
162 locale = MochiKit.Format.formatLocale(); 188 locale = MochiKit.Format.formatLocale();
163 } else if (typeof(locale) == "string") { 189 } else if (typeof(locale) == "string") {
164 locale = MochiKit.Format.formatLocale(locale); 190 locale = MochiKit.Format.formatLocale(locale);
165 } 191 }
166 var parts = MochiKit.Text._parsePattern(pattern); 192 var parts = MochiKit.Text._parsePattern(pattern);
167 return function() { 193 return function() {
@@ -172,14 +198,14 @@ MochiKit.Text.formatter = function (pattern, locale) {
172 res.push(parts[i]); 198 res.push(parts[i]);
173 } else { 199 } else {
174 res.push(MochiKit.Text.formatValue(parts[i], values, locale)); 200 res.push(MochiKit.Text.formatValue(parts[i], values, locale));
175 } 201 }
176 } 202 }
177 return res.join(""); 203 return res.join("");
178 } 204 };
179} 205};
180 206
181/** 207/**
182 * Formats the specified arguments according to a formatter pattern. 208 * Formats the specified arguments according to a formatter pattern.
183 * See separate documentation for information about the formatter 209 * See separate documentation for information about the formatter
184 * pattern syntax. 210 * pattern syntax.
185 * 211 *
@@ -190,51 +216,55 @@ MochiKit.Text.formatter = function (pattern, locale) {
190 * 216 *
191 * @throws FormatPatternError if the format pattern was invalid 217 * @throws FormatPatternError if the format pattern was invalid
192 */ 218 */
193MochiKit.Text.format = function (pattern/*, ...*/) { 219MochiKit.Text.format = function (pattern/*, ...*/) {
194 var func = MochiKit.Text.formatter(pattern); 220 var func = MochiKit.Text.formatter(pattern);
195 return func.apply(this, MochiKit.Base.extend([], arguments, 1)); 221 return func.apply(this, MochiKit.Base.extend([], arguments, 1));
196} 222};
197 223
198/** 224/**
199 * Format a value with the specified format specifier. 225 * Format a value with the specified format specifier.
200 * 226 *
201 * @param {String/Object} spec the format specifier string or parsed 227 * @param {String/Object} spec the format specifier string or parsed
202 * format specifier object 228 * format specifier object
203 * @param {Object} value the value to format 229 * @param {Object} value the value to format
204 * @param {Object} [locale] the locale to use, defaults to 230 * @param {Object} [locale] the locale to use, defaults to
205 * LOCALE.en_US 231 * LOCALE.en_US
206 * 232 *
207 * @return {String} the formatted output string 233 * @return {String} the formatted output string
234 *
235 * @throws FormatPatternError if the format specifier was invalid
208 */ 236 */
209MochiKit.Text.formatValue = function (spec, value, locale) { 237MochiKit.Text.formatValue = function (spec, value, locale) {
210 var self = MochiKit.Text; 238 var self = MochiKit.Text;
211 if (typeof(spec) === "string") { 239 if (typeof(spec) === "string") {
212 spec = self._parseFormatFlags(spec, 0, spec.length - 1); 240 spec = self._parseFormatFlags(spec, 0, spec.length);
213 } 241 }
214 for (var i = 0; spec.path != null && i < spec.path.length; i++) { 242 for (var i = 0; spec.path != null && i < spec.path.length; i++) {
215 if (value != null) { 243 if (value != null) {
216 value = value[spec.path[i]]; 244 value = value[spec.path[i]];
217 } 245 }
218 } 246 }
219 if (typeof(locale) == "undefined") { 247 if (locale == null) {
220 locale = MochiKit.Format.formatLocale(); 248 locale = MochiKit.Format.formatLocale();
221 } else if (typeof(locale) == "string") { 249 } else if (typeof(locale) == "string") {
222 locale = MochiKit.Format.formatLocale(locale); 250 locale = MochiKit.Format.formatLocale(locale);
223 } 251 }
224 var str = ""; 252 var str = "";
225 if (spec.numeric) { 253 if (spec.type == "number") {
254 if (value instanceof Number) {
255 value = value.valueOf();
256 }
226 if (typeof(value) != "number" || isNaN(value)) { 257 if (typeof(value) != "number" || isNaN(value)) {
227 str = ""; 258 str = "";
228 } else if (value === Number.POSITIVE_INFINITY) { 259 } else if (value === Number.POSITIVE_INFINITY) {
229 str = "\u221e"; 260 str = "\u221e";
230 } else if (value === Number.NEGATIVE_INFINITY) { 261 } else if (value === Number.NEGATIVE_INFINITY) {
231 str = "-\u221e"; 262 str = "-\u221e";
232 } else { 263 } else {
233 var sign = (spec.sign === "-") ? "" : spec.sign; 264 var sign = (value < 0) ? "-" : spec.sign;
234 sign = (value < 0) ? "-" : sign;
235 value = Math.abs(value); 265 value = Math.abs(value);
236 if (spec.format === "%") { 266 if (spec.format === "%") {
237 str = self._truncToPercent(value, spec.precision); 267 str = self._truncToPercent(value, spec.precision);
238 } else if (spec.format === "d") { 268 } else if (spec.format === "d") {
239 str = MochiKit.Format.roundToFixed(value, 0); 269 str = MochiKit.Format.roundToFixed(value, 0);
240 } else if (spec.radix != 10) { 270 } else if (spec.radix != 10) {
@@ -251,68 +281,68 @@ MochiKit.Text.formatValue = function (spec, value, locale) {
251 } 281 }
252 if (spec.padding === "0" && spec.format === "%") { 282 if (spec.padding === "0" && spec.format === "%") {
253 str = self.padLeft(str, spec.width - sign.length - 1, "0"); 283 str = self.padLeft(str, spec.width - sign.length - 1, "0");
254 } else if (spec.padding == "0") { 284 } else if (spec.padding == "0") {
255 str = self.padLeft(str, spec.width - sign.length, "0"); 285 str = self.padLeft(str, spec.width - sign.length, "0");
256 } 286 }
257 str = self._localizeNumber(str, locale, spec.grouping); 287 str = self._localizeNumber(str, locale, spec.group);
258 str = sign + str; 288 str = sign + str;
259 } 289 }
260 if (str !== "" && spec.format === "%") { 290 if (str !== "" && spec.format === "%") {
261 str = str + locale.percent; 291 str = str + locale.percent;
262 } 292 }
263 } else { 293 } else {
264 if (spec.format == "r") { 294 if (spec.format == "r") {
265 str = MochiKit.Base.repr(value); 295 str = MochiKit.Base.repr(value);
266 } else { 296 } else {
267 str = (value == null) ? "null" : value.toString(); 297 str = (value == null) ? "" : value.toString();
268 } 298 }
269 str = self.truncate(str, spec.precision); 299 str = self.truncate(str, spec.precision);
270 } 300 }
271 if (spec.align == "<") { 301 if (spec.align == "<") {
272 str = self.padRight(str, spec.width); 302 str = self.padRight(str, spec.width);
273 } else { 303 } else {
274 str = self.padLeft(str, spec.width); 304 str = self.padLeft(str, spec.width);
275 } 305 }
276 return str; 306 return str;
277} 307};
278 308
279/** 309/**
280 * Adjust an already formatted numeric string for locale-specific 310 * Adjust an already formatted numeric string for locale-specific
281 * grouping and decimal separators. The grouping is optional and 311 * grouping and decimal separators. The grouping is optional and
282 * will attempt to keep the number string length intact by removing 312 * will attempt to keep the number string length intact by removing
283 * padded zeros (if possible). 313 * padded zeros (if possible).
284 * 314 *
285 * @param {String} num the formatted number string 315 * @param {String} num the formatted number string
286 * @param {Object} locale the formatting locale to use 316 * @param {Object} locale the formatting locale to use
287 * @param {Boolean} grouping the grouping flag 317 * @param {Boolean} group the grouping flag
288 * 318 *
289 * @return {String} the localized number string 319 * @return {String} the localized number string
290 */ 320 */
291MochiKit.Text._localizeNumber = function (num, locale, grouping) { 321MochiKit.Text._localizeNumber = function (num, locale, group) {
292 var parts = num.split(/\./); 322 var parts = num.split(/\./);
293 var whole = parts[0]; 323 var whole = parts[0];
294 var frac = (parts.length == 1) ? "" : parts[1]; 324 var frac = (parts.length == 1) ? "" : parts[1];
295 var res = (frac.length > 0) ? locale.decimal : ""; 325 var res = (frac.length > 0) ? locale.decimal : "";
296 while (grouping && frac.length > 3) { 326 while (group && frac.length > 3) {
297 res = res + frac.substring(0, 3) + locale.separator; 327 res = res + frac.substring(0, 3) + locale.separator;
298 frac = frac.substring(3); 328 frac = frac.substring(3);
299 if (whole.charAt(0) == "0") { 329 if (whole.charAt(0) == "0") {
300 whole = whole.substring(1); 330 whole = whole.substring(1);
301 } 331 }
302 } 332 }
303 if (frac.length > 0) { 333 if (frac.length > 0) {
304 res += frac; 334 res = res + frac;
305 } 335 }
306 while (grouping && whole.length > 3) { 336 while (group && whole.length > 3) {
307 var pos = whole.length - 3; 337 var pos = whole.length - 3;
308 res = locale.separator + whole.substring(pos) + res; 338 res = locale.separator + whole.substring(pos) + res;
309 whole = whole.substring((whole.charAt(0) == "0") ? 1 : 0, pos); 339 whole = whole.substring((whole.charAt(0) == "0") ? 1 : 0, pos);
310 } 340 }
311 return whole + res; 341 return whole + res;
312} 342};
313 343
314/** 344/**
315 * Parses a format pattern and returns an array of constant strings 345 * Parses a format pattern and returns an array of constant strings
316 * and format info objects. 346 * and format info objects.
317 * 347 *
318 * @param {String} pattern the format pattern to analyze 348 * @param {String} pattern the format pattern to analyze
@@ -321,50 +351,38 @@ MochiKit.Text._localizeNumber = function (num, locale, grouping) {
321 * 351 *
322 * @throws FormatPatternError if the format pattern was invalid 352 * @throws FormatPatternError if the format pattern was invalid
323 */ 353 */
324MochiKit.Text._parsePattern = function (pattern) { 354MochiKit.Text._parsePattern = function (pattern) {
325 var self = MochiKit.Text; 355 var self = MochiKit.Text;
326 var parts = []; 356 var parts = [];
327 var start = 0; 357 var re = /{[^{}]*}|{{?|}}?/g;
328 var pos = 0; 358 var lastPos = re.lastIndex = 0;
329 for (pos = 0; pos < pattern.length; pos++) { 359 var m;
330 if (pattern.charAt(pos) == "{") { 360 while ((m = re.exec(pattern)) != null) {
331 if (pos + 1 >= pattern.length) { 361 if (lastPos < m.index) {
332 var msg = "unescaped { char, should be escaped as {{"; 362 parts.push(pattern.substring(lastPos, m.index))
333 throw new self.FormatPatternError(pattern, pos, msg); 363 }
334 } else if (pattern.charAt(pos + 1) == "{") { 364 var str = m[0];
335 parts.push(pattern.substring(start, pos + 1)); 365 lastPos = m.index + str.length;
336 start = pos + 2; 366 if (self.startsWith("{", str) && self.endsWith("}", str)) {
337 pos++; 367 parts.push(self._parseFormat(pattern, m.index + 1, lastPos - 1));
338 } else { 368 } else if (self.startsWith("{{", str) || self.startsWith("}}", str)) {
339 if (start < pos) { 369 parts.push(str.substring(1));
340 parts.push(pattern.substring(start, pos)); 370 } else if (self.startsWith("{", str)) {
341 } 371 var msg = "unescaped { char, should be escaped as {{";
342 start = pattern.indexOf("}", pos) + 1; 372 throw new self.FormatPatternError(pattern, m.index, msg);
343 if (start <= 0) { 373 } else if (self.startsWith("}", str)) {
344 var msg = "unmatched { char, not followed by a } char"; 374 var msg = "unescaped } char, should be escaped as }}";
345 throw new self.FormatPatternError(pattern, pos, msg); 375 throw new self.FormatPatternError(pattern, m.index, msg);
346 }
347 parts.push(self._parseFormat(pattern, pos + 1, start - 1));
348 pos = start - 1;
349 }
350 } else if (pattern.charAt(pos) == "}") {
351 if (pos + 1 >= pattern.length || pattern.charAt(pos + 1) != "}") {
352 var msg = "unescaped } char, should be escaped as }}";
353 throw new self.FormatPatternError(pattern, pos, msg);
354 }
355 parts.push(pattern.substring(start, pos + 1));
356 start = pos + 2;
357 pos++;
358 } 376 }
359 } 377 }
360 if (start < pos) { 378 if (lastPos < pattern.length) {
361 parts.push(pattern.substring(start, pos)); 379 parts.push(pattern.substring(lastPos));
362 } 380 }
363 return parts; 381 return parts;
364} 382};
365 383
366/** 384/**
367 * Parses a format instruction and returns a format info object. 385 * Parses a format instruction and returns a format info object.
368 * 386 *
369 * @param {String} pattern the format pattern string 387 * @param {String} pattern the format pattern string
370 * @param {Number} startPos the first index of the format instruction 388 * @param {Number} startPos the first index of the format instruction
@@ -374,46 +392,36 @@ MochiKit.Text._parsePattern = function (pattern) {
374 * 392 *
375 * @throws FormatPatternError if the format pattern was invalid 393 * @throws FormatPatternError if the format pattern was invalid
376 */ 394 */
377MochiKit.Text._parseFormat = function (pattern, startPos, endPos) { 395MochiKit.Text._parseFormat = function (pattern, startPos, endPos) {
378 var self = MochiKit.Text; 396 var self = MochiKit.Text;
379 var text = pattern.substring(startPos, endPos); 397 var text = pattern.substring(startPos, endPos);
380 var info; 398 var parts = self.split(text, ":", 1);
381 var pos = text.indexOf(":"); 399 var path = parts[0];
382 if (pos == 0) { 400 var flagsPos = startPos + path.length + ((parts.length == 1) ? 0 : 1);
383 info = self._parseFormatFlags(pattern, startPos + 1, endPos); 401 var info = self._parseFormatFlags(pattern, flagsPos, endPos);
384 info.path = [0]; 402 info.path = (path == "") ? [] : path.split(".");
385 } else if (pos > 0) {
386 info = self._parseFormatFlags(pattern, startPos + pos + 1, endPos);
387 info.path = text.substring(0, pos).split(".");
388 } else {
389 info = self._parseFormatFlags(pattern, endPos, endPos);
390 info.path = text.split(".");
391 }
392 var DIGITS = /^\d+$/;
393 for (var i = 0; i < info.path.length; i++) { 403 for (var i = 0; i < info.path.length; i++) {
394 var e = info.path[i]; 404 var v = info.path[i];
395 if (typeof(e) == "string") { 405 // TODO: replace with MochiKit.Format.strip?
396 // TODO: replace with MochiKit.Format.strip? 406 v = v.replace(/^\s+/, "").replace(/\s+$/, "");
397 e = e.replace(/^\s+/, "").replace(/\s+$/, ""); 407 if (v == "" && info.path.length == 1) {
398 if (e == "" && info.path.length == 1) { 408 v = 0;
399 e = 0; 409 } else if (v == "") {
400 } else if (e == "") { 410 var msg = "format value path contains blanks";
401 var msg = "format value path contains blanks"; 411 throw new self.FormatPatternError(pattern, startPos, msg);
402 throw new self.FormatPatternError(pattern, startPos, msg); 412 } else if (/^\d+$/.test(v)) {
403 } else if (DIGITS.test(e)) { 413 v = parseInt(v, 10);
404 e = parseInt(e);
405 }
406 } 414 }
407 info.path[i] = e; 415 info.path[i] = v;
408 } 416 }
409 if (info.path.length < 0 || typeof(info.path[0]) != "number") { 417 if (info.path.length <= 0 || typeof(info.path[0]) != "number") {
410 info.path.unshift(0); 418 info.path.unshift(0);
411 } 419 }
412 return info; 420 return info;
413} 421};
414 422
415/** 423/**
416 * Parses a string with format flags and returns a format info object. 424 * Parses a string with format flags and returns a format info object.
417 * 425 *
418 * @param {String} pattern the format pattern string 426 * @param {String} pattern the format pattern string
419 * @param {Number} startPos the first index of the format instruction 427 * @param {Number} startPos the first index of the format instruction
@@ -421,125 +429,86 @@ MochiKit.Text._parseFormat = function (pattern, startPos, endPos) {
421 * 429 *
422 * @return {Object} the format info object 430 * @return {Object} the format info object
423 * 431 *
424 * @throws FormatPatternError if the format pattern was invalid 432 * @throws FormatPatternError if the format pattern was invalid
425 */ 433 */
426MochiKit.Text._parseFormatFlags = function (pattern, startPos, endPos) { 434MochiKit.Text._parseFormatFlags = function (pattern, startPos, endPos) {
427 var self = MochiKit.Text; 435 var update = MochiKit.Base.update;
428 var info = { numeric: false, format: "s", width: 0, precision: -1, 436 var info = { type: "string", format: "s", width: 0, precision: -1,
429 align: ">", sign: "-", padding: " ", grouping: false }; 437 align: ">", sign: "", padding: " ", group: false };
430 // TODO: replace with MochiKit.Format.rstrip? 438 // TODO: replace with MochiKit.Format.rstrip?
431 var flags = pattern.substring(startPos, endPos).replace(/\s+$/, ""); 439 var text = pattern.substring(startPos, endPos).replace(/\s+$/, "");
432 while (flags.length > 0) { 440 var m = /^([<>+ 0,-]+)?(\d+)?(\.\d*)?([srbdoxXf%])?(.*)$/.exec(text);
433 switch (flags.charAt(0)) { 441 var flags = m[1];
434 case ">": 442 var width = m[2];
435 case "<": 443 var precision = m[3];
436 info.align = flags.charAt(0); 444 var type = m[4];
437 flags = flags.substring(1); 445 var unmatched = m[5];
438 break; 446 for (var i = 0; flags && i < flags.length; i++) {
439 case "+": 447 var chr = flags.charAt(i);
440 case "-": 448 if (chr == "<" || chr == ">") {
441 case " ": 449 info.align = chr;
442 info.sign = flags.charAt(0); 450 } else if (chr == "+" || chr == "-" || chr == " ") {
443 flags = flags.substring(1); 451 info.sign = (chr == "-") ? "" : chr;
444 break; 452 } else if (chr == "0") {
445 case ",": 453 info.padding = chr;
446 info.grouping = true; 454 } else if (chr == ",") {
447 flags = flags.substring(1); 455 info.group = true;
448 break;
449 case ".":
450 var chars = /^\d*/.exec(flags.substring(1))[0];
451 info.precision = parseInt(chars);
452 flags = flags.substring(1 + chars.length);
453 break;
454 case "0":
455 info.padding = flags.charAt(0);
456 flags = flags.substring(1);
457 break;
458 case "1":
459 case "2":
460 case "3":
461 case "4":
462 case "5":
463 case "6":
464 case "7":
465 case "8":
466 case "9":
467 var chars = /^\d*/.exec(flags)[0];
468 info.width = parseInt(chars);
469 flags = flags.substring(chars.length);
470 break;
471 case "s":
472 case "r":
473 info.format = flags.charAt(0);
474 flags = flags.substring(1);
475 break;
476 case "b":
477 case "d":
478 case "o":
479 case "x":
480 case "X":
481 case "f":
482 case "%":
483 info.numeric = true;
484 info.format = flags.charAt(0);
485 info.radix = 10;
486 if (info.format === "b") {
487 info.radix = 2;
488 } else if (info.format === "o") {
489 info.radix = 8;
490 } else if (info.format === "x" || info.format === "X") {
491 info.radix = 16;
492 }
493 flags = flags.substring(1);
494 break;
495 default:
496 var msg = "unsupported format flag: " + flags.charAt(0);
497 throw new self.FormatPatternError(pattern, startPos, msg);
498 } 456 }
499 } 457 }
458 if (width) {
459 info.width = parseInt(width, 10);
460 }
461 if (precision && precision.length > 1) {
462 info.precision = parseInt(precision.substring(1), 10);
463 }
464 if (type == "s" || type == "r") {
465 info.format = type;
466 } else if (type == "b") {
467 update(info, { type: "number", format: type, radix: 2 });
468 } else if (type == "o") {
469 update(info, { type: "number", format: type, radix: 8 });
470 } else if (type == "x" || type == "X") {
471 update(info, { type: "number", format: type, radix: 16 });
472 } else if (type == "d" || type == "f" || type == "%") {
473 update(info, { type: "number", format: type, radix: 10 });
474 }
475 if (unmatched) {
476 var msg = "unsupported format flag: " + unmatched.charAt(0);
477 throw new MochiKit.Text.FormatPatternError(pattern, startPos, msg);
478 }
500 return info; 479 return info;
501} 480};
502 481
503/** 482/**
504 * Formats a value as a percentage. This method avoids multiplication 483 * Formats a value as a percentage. This method avoids multiplication
505 * by 100 since it leads to weird numeric rounding errors. Instead it 484 * by 100 since it leads to weird numeric rounding errors. Instead it
506 * just move the decimal separator in the text string. It is ugly, 485 * just move the decimal separator in the text string. It is ugly,
507 * but works... 486 * but works...
508 * 487 *
509 * @param {Number} value the value to format 488 * @param {Number} value the value to format
510 * @param {Number} precision the number of precision digits 489 * @param {Number} precision the number of precision digits
511 */ 490 */
512MochiKit.Text._truncToPercent = function (value, precision) { 491MochiKit.Text._truncToPercent = function (value, precision) {
513 // TODO: This can be simplified by using the same helper function 492 // TODO: This can be simplified by using MochiKit.Format._shiftNumber
514 // as roundToFixed now does. 493 // as roundToFixed does.
515 var str; 494 var str;
516 if (precision >= 0) { 495 if (precision >= 0) {
517 str = MochiKit.Format.roundToFixed(value, precision + 2); 496 str = MochiKit.Format.roundToFixed(value, precision + 2);
518 } else { 497 } else {
519 str = (value == null) ? "0" : value.toString(); 498 str = (value == null) ? "0" : value.toString();
520 } 499 }
521 var fracPos = str.indexOf("."); 500 var arr = MochiKit.Text.split(str, ".", 2);
522 if (fracPos < 0) { 501 var frac = MochiKit.Text.padRight(arr[1], 2, "0");
523 str = str + "00"; 502 var whole = arr[0] + frac.substring(0, 2);
524 } else if (fracPos + 3 >= str.length) { 503 frac = frac.substring(2);
525 var fraction = str.substring(fracPos + 1); 504 while (/^0[0-9]/.test(whole)) {
526 while (fraction.length < 2) { 505 whole = whole.substring(1);
527 fraction = fraction + "0";
528 }
529 str = str.substring(0, fracPos) + fraction;
530 } else {
531 var fraction = str.substring(fracPos + 1);
532 str = str.substring(0, fracPos) + fraction.substring(0, 2) +
533 "." + fraction.substring(2);
534 }
535 while (str.length > 1 && str.charAt(0) == "0" && str.charAt(1) != ".") {
536 str = str.substring(1);
537 } 506 }
538 return str; 507 return (frac.length <= 0) ? whole : whole + "." + frac;
539} 508};
540 509
541/** 510/**
542 * Creates a new format pattern error. 511 * Creates a new format pattern error.
543 * 512 *
544 * @param {String} pattern the format pattern string 513 * @param {String} pattern the format pattern string
545 * @param {Number} pos the position of the error 514 * @param {Number} pos the position of the error
@@ -555,19 +524,19 @@ MochiKit.Text._truncToPercent = function (value, precision) {
555 * @extends MochiKit.Base.NamedError 524 * @extends MochiKit.Base.NamedError
556 */ 525 */
557MochiKit.Text.FormatPatternError = function (pattern, pos, message) { 526MochiKit.Text.FormatPatternError = function (pattern, pos, message) {
558 this.pattern = pattern; 527 this.pattern = pattern;
559 this.pos = pos; 528 this.pos = pos;
560 this.message = message; 529 this.message = message;
561} 530};
562MochiKit.Text.FormatPatternError.prototype =
563 new MochiKit.Base.NamedError("MochiKit.Text.FormatPatternError");
564 531
532MochiKit.Text.FormatPatternError.prototype = new MochiKit.Base.NamedError("MochiKit.Text.FormatPatternError");
533MochiKit.Text.FormatPatternError.constructor = MochiKit.Text.FormatPatternError;
565 534
566// 535//
567//XXX: Internet Explorer exception handling blows 536//XXX: Internet Explorer export fix
568// 537//
569if (MochiKit.__export__) { 538if (MochiKit.__export__) {
570 formatter = MochiKit.Text.formatter; 539 formatter = MochiKit.Text.formatter;
571 format = MochiKit.Text.format; 540 format = MochiKit.Text.format;
572 formatValue = MochiKit.Text.formatValue; 541 formatValue = MochiKit.Text.formatValue;
573} 542}
diff --git a/frontend/gamma/js/MochiKit/Visual.js b/frontend/gamma/js/MochiKit/Visual.js
index 648d82a..372d99a 100644
--- a/frontend/gamma/js/MochiKit/Visual.js
+++ b/frontend/gamma/js/MochiKit/Visual.js
@@ -5,13 +5,13 @@ MochiKit.Visual 1.5
5See <http://mochikit.com/> for documentation, downloads, license, etc. 5See <http://mochikit.com/> for documentation, downloads, license, etc.
6 6
7(c) 2005 Bob Ippolito and others. All rights Reserved. 7(c) 2005 Bob Ippolito and others. All rights Reserved.
8 8
9***/ 9***/
10 10
11MochiKit.Base._module('Visual', '1.5', ['Base', 'DOM', 'Style', 'Color', 'Position']); 11MochiKit.Base.module(MochiKit, 'Visual', '1.5', ['Base', 'DOM', 'Style', 'Color', 'Position']);
12 12
13MochiKit.Visual._RoundCorners = function (e, options) { 13MochiKit.Visual._RoundCorners = function (e, options) {
14 e = MochiKit.DOM.getElement(e); 14 e = MochiKit.DOM.getElement(e);
15 this._setOptions(options); 15 this._setOptions(options);
16 if (this.options.__unstable__wrapElement) { 16 if (this.options.__unstable__wrapElement) {
17 e = this._doWrap(e); 17 e = this._doWrap(e);
@@ -466,12 +466,17 @@ MochiKit.Visual.Transitions.pulse = function (pos, pulses) {
466 466
467/** @id MochiKit.Visual.Transitions.parabolic */ 467/** @id MochiKit.Visual.Transitions.parabolic */
468MochiKit.Visual.Transitions.parabolic = function (pos) { 468MochiKit.Visual.Transitions.parabolic = function (pos) {
469 return pos * pos; 469 return pos * pos;
470}; 470};
471 471
472/** @id MochiKit.Visual.Transitions.spring */
473MochiKit.Visual.Transitions.spring = function (pos) {
474 return 1 - (Math.cos(pos * 2.5 * Math.PI) * Math.exp(-pos * 6));
475};
476
472/** @id MochiKit.Visual.Transitions.none */ 477/** @id MochiKit.Visual.Transitions.none */
473MochiKit.Visual.Transitions.none = function (pos) { 478MochiKit.Visual.Transitions.none = function (pos) {
474 return 0; 479 return 0;
475}; 480};
476 481
477/** @id MochiKit.Visual.Transitions.full */ 482/** @id MochiKit.Visual.Transitions.full */
@@ -531,12 +536,17 @@ MochiKit.Base.update(MochiKit.Visual.ScopedQueue.prototype, {
531 break; 536 break;
532 case 'break': 537 case 'break':
533 ma(function (e) { 538 ma(function (e) {
534 e.finalize(); 539 e.finalize();
535 }, this.effects); 540 }, this.effects);
536 break; 541 break;
542 case 'replace':
543 ma(function (e) {
544 e.cancel();
545 }, this.effects);
546 break;
537 } 547 }
538 548
539 effect.startOn += timestamp; 549 effect.startOn += timestamp;
540 effect.finishOn += timestamp; 550 effect.finishOn += timestamp;
541 if (!effect.options.queue.limit || 551 if (!effect.options.queue.limit ||
542 this.effects.length < effect.options.queue.limit) { 552 this.effects.length < effect.options.queue.limit) {
@@ -659,14 +669,18 @@ MochiKit.Visual.Base.prototype = {
659 this.state = 'running'; 669 this.state = 'running';
660 this.event('beforeSetup'); 670 this.event('beforeSetup');
661 this.setup(); 671 this.setup();
662 this.event('afterSetup'); 672 this.event('afterSetup');
663 } 673 }
664 if (this.state == 'running') { 674 if (this.state == 'running') {
665 if (this.options.transition) { 675 var trans = this.options.transition;
666 pos = this.options.transition(pos); 676 if (typeof(trans) == "string") {
677 trans = MochiKit.Visual.Transitions[trans];
678 }
679 if (typeof(trans) == "function") {
680 pos = trans(pos);
667 } 681 }
668 pos *= (this.options.to - this.options.from); 682 pos *= (this.options.to - this.options.from);
669 pos += this.options.from; 683 pos += this.options.from;
670 this.event('beforeUpdate'); 684 this.event('beforeUpdate');
671 this.update(pos); 685 this.update(pos);
672 this.event('afterUpdate'); 686 this.event('afterUpdate');
@@ -1683,14 +1697,14 @@ MochiKit.Visual.squish = function (element, /* optional */ options) {
1683 var b = MochiKit.Base; 1697 var b = MochiKit.Base;
1684 var s = MochiKit.Style; 1698 var s = MochiKit.Style;
1685 var elementDimensions = s.getElementDimensions(element, true); 1699 var elementDimensions = s.getElementDimensions(element, true);
1686 var elemClip; 1700 var elemClip;
1687 options = b.update({ 1701 options = b.update({
1688 restoreAfterFinish: true, 1702 restoreAfterFinish: true,
1689 scaleMode: {originalHeight: elementDimensions.w, 1703 scaleMode: {originalHeight: elementDimensions.h,
1690 originalWidth: elementDimensions.h}, 1704 originalWidth: elementDimensions.w},
1691 beforeSetupInternal: function (effect) { 1705 beforeSetupInternal: function (effect) {
1692 elemClip = s.makeClipping(effect.element); 1706 elemClip = s.makeClipping(effect.element);
1693 }, 1707 },
1694 afterFinishInternal: function (effect) { 1708 afterFinishInternal: function (effect) {
1695 s.hideElement(effect.element); 1709 s.hideElement(effect.element);
1696 s.undoClipping(effect.element, elemClip); 1710 s.undoClipping(effect.element, elemClip);
@@ -1955,21 +1969,8 @@ MochiKit.Visual.fold = function (element, /* optional */ options) {
1955 } 1969 }
1956 }, options); 1970 }, options);
1957 return new v.Scale(element, 5, options); 1971 return new v.Scale(element, 5, options);
1958}; 1972};
1959 1973
1960 1974
1961/* end of Rico adaptation */ 1975MochiKit.Base.nameFunctions(MochiKit.Visual);
1962
1963MochiKit.Visual.__new__ = function () {
1964 var m = MochiKit.Base;
1965
1966 // Backwards compatibility aliases
1967 m._deprecated(this, 'Color', 'MochiKit.Color.Color', '1.1');
1968 m._deprecated(this, 'getElementsComputedStyle', 'MochiKit.Style.getStyle', '1.1');
1969
1970 m.nameFunctions(this);
1971};
1972
1973MochiKit.Visual.__new__();
1974
1975MochiKit.Base._exportSymbols(this, MochiKit.Visual); 1976MochiKit.Base._exportSymbols(this, MochiKit.Visual);
diff --git a/frontend/gamma/js/MochiKit/__package__.js b/frontend/gamma/js/MochiKit/__package__.js
deleted file mode 100644
index 8d644b1..0000000
--- a/frontend/gamma/js/MochiKit/__package__.js
+++ b/dev/null
@@ -1,18 +0,0 @@
1dojo.kwCompoundRequire({
2 "common": [
3 "MochiKit.Base",
4 "MochiKit.Iter",
5 "MochiKit.Logging",
6 "MochiKit.DateTime",
7 "MochiKit.Format",
8 "MochiKit.Async",
9 "MochiKit.DOM",
10 "MochiKit.Style",
11 "MochiKit.LoggingPane",
12 "MochiKit.Color",
13 "MochiKit.Signal",
14 "MochiKit.Position",
15 "MochiKit.Visual"
16 ]
17});
18dojo.provide("MochiKit.*");
diff --git a/frontend/gamma/js/main.js b/frontend/gamma/js/main.js
index a9fd65e..934b325 100644
--- a/frontend/gamma/js/main.js
+++ b/frontend/gamma/js/main.js
@@ -78,16 +78,16 @@ function run() {
78 } else { 78 } else {
79 Clipperz.PM.RunTime.mainController = new Clipperz.PM.UI.Web.Controllers.MainController(controllerParameters); 79 Clipperz.PM.RunTime.mainController = new Clipperz.PM.UI.Web.Controllers.MainController(controllerParameters);
80 } 80 }
81 81
82 Clipperz.PM.RunTime.mainController.run(shouldShowRegistrationForm); 82 Clipperz.PM.RunTime.mainController.run(shouldShowRegistrationForm);
83 83
84//Clipperz.log("HASH: " + window.location.hash); 84 //Clipperz.log("HASH: " + window.location.hash);
85if (window.location.hash != "") { 85 //if (window.location.hash != "") {
86 window.location.hash = "" 86 // window.location.hash = ""
87} 87 //}
88//Clipperz.log("HASH cleaned"); 88 //Clipperz.log("HASH cleaned");
89 //#credentials=base64encoded({username:'joe', passphrase:'clipperz'}) 89 //#credentials=base64encoded({username:'joe', passphrase:'clipperz'})
90 //MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'doLogin', {username:'joe', passphrase:'clipperz'}); 90 //MochiKit.Signal.signal(Clipperz.Signal.NotificationCenter, 'doLogin', {username:'joe', passphrase:'clipperz'});
91} 91}
92 92
93MochiKit.DOM.addLoadEvent(run); 93MochiKit.DOM.addLoadEvent(run);
diff --git a/frontend/gamma/properties/gamma.properties.json b/frontend/gamma/properties/gamma.properties.json
index 8f2d98e..0a513e8 100644
--- a/frontend/gamma/properties/gamma.properties.json
+++ b/frontend/gamma/properties/gamma.properties.json
@@ -1,11 +1,14 @@
1{ 1{
2 "copyright.values": { 2 "copyright.values": {
3 "mochikit.repository": "http://svn.mochikit.com/mochikit/trunk/", 3 "mochikit.repository": "https://github.com/mochi/mochikit.git",
4 "mochikit.version": "1506" 4 "mochikit.version": "fe8d17bb9ac0a4e5ad4a8d5c2c94a6fac1c92d75"
5 }, 5 },
6
7 "html.template": "index_template.html",
8
6 "js": [ 9 "js": [
7 "MochiKit/Base.js", 10 "MochiKit/Base.js",
8 "MochiKit/Iter.js", 11 "MochiKit/Iter.js",
9 "MochiKit/Logging.js", 12 "MochiKit/Logging.js",
10 "-- MochiKit/DateTime.js", 13 "-- MochiKit/DateTime.js",
11 "MochiKit/Format.js", 14 "MochiKit/Format.js",
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/AES.html b/frontend/gamma/tests/tests/Clipperz/Crypto/AES.html
index 828ccb8..16f64d0 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/AES.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/AES.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <title>Clipperz.Crypto.AES_v3 - TEST</title> 28 <title>Clipperz.Crypto.AES_v3 - TEST</title>
29 29
30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
31 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
32 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> 34 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script>
36 35
37 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 36 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/AES.performance.html b/frontend/gamma/tests/tests/Clipperz/Crypto/AES.performance.html
index 4817096..a90d815 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/AES.performance.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/AES.performance.html
@@ -29,13 +29,12 @@ refer to http://www.clipperz.com.
29 29
30 <script> 30 <script>
31 jslog_config_enabled = true; 31 jslog_config_enabled = true;
32 </script> 32 </script>
33 33
34 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 34 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
35 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
36 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 35 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
37 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 36 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
38 37
39 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> 38 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script>
40 39
41 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 40 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/Base.html b/frontend/gamma/tests/tests/Clipperz/Crypto/Base.html
index 0ffcdb8..83f0766 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/Base.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/Base.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
35 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> 34 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/BigInt.html b/frontend/gamma/tests/tests/Clipperz/Crypto/BigInt.html
index b970a9a..f4db3b7 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/BigInt.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/BigInt.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script>
35 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 34 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.B283.html b/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.B283.html
index 6024021..93d8695 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.B283.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.B283.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script>
35 34
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.html b/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.html
index 5a7a4f7..658c402 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.FiniteField.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script>
35 34
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.Value.html b/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.Value.html
index c58cf42..0d0903d 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.Value.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/ECC.BinaryField.Value.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script>
35 34
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/PRNG.html b/frontend/gamma/tests/tests/Clipperz/Crypto/PRNG.html
index 438d96f..61aa1c2 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/PRNG.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/PRNG.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <script> jslog_config_enabled = true; </script> 28 <script> jslog_config_enabled = true; </script>
29 29
30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
31 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
32 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 34 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
36 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> 35 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script>
37 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 36 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/RSA.html b/frontend/gamma/tests/tests/Clipperz/Crypto/RSA.html
index f29f894..4c7fd86 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/RSA.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/RSA.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/DOM.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/DOM.js'></script>
35 34
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/SHA.html b/frontend/gamma/tests/tests/Clipperz/Crypto/SHA.html
index a580491..a2f6c04 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/SHA.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/SHA.html
@@ -60,13 +60,12 @@ refer to http://www.clipperz.com.
60 <script> 60 <script>
61 jslog_config_enabled = true; 61 jslog_config_enabled = true;
62 clipperz_profiling_enabled = true; 62 clipperz_profiling_enabled = true;
63 </script> 63 </script>
64 64
65 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 65 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
66 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
67 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 66 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
68 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 67 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
69 68
70 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 69 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
71 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> 70 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script>
72 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 71 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/SRP.html b/frontend/gamma/tests/tests/Clipperz/Crypto/SRP.html
index d0ee153..ba842a9 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/SRP.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/SRP.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 32 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
34 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> 33 <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script>
35 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 34 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html b/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html
index 8920915..4e7ad3d 100644
--- a/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html
+++ b/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <title>Clipperz.Crypto.Usage - TEST</title> 28 <title>Clipperz.Crypto.Usage - TEST</title>
29 29
30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
31 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
32 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> 34 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script>
36 35
37 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 36 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/PM/Date.html b/frontend/gamma/tests/tests/Clipperz/PM/Date.html
index a606ca4..7b87185 100644
--- a/frontend/gamma/tests/tests/Clipperz/PM/Date.html
+++ b/frontend/gamma/tests/tests/Clipperz/PM/Date.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <title>Clipperz.PM.Date - test</title> 28 <title>Clipperz.PM.Date - test</title>
29 29
30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
31 <!-- script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script -->
32 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> 34 <script type='text/javascript' src='../../../../js/JSON/json2.js'></script>
36 35
37 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 36 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/PM/Proxy.html b/frontend/gamma/tests/tests/Clipperz/PM/Proxy.html
index 8dc533f..8177285 100644
--- a/frontend/gamma/tests/tests/Clipperz/PM/Proxy.html
+++ b/frontend/gamma/tests/tests/Clipperz/PM/Proxy.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <title>Clipperz.PM.Proxy - TEST</title> 28 <title>Clipperz.PM.Proxy - TEST</title>
29 29
30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
31 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
32 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 34 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
36 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 35 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
37 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> 36 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/PM/Toll.html b/frontend/gamma/tests/tests/Clipperz/PM/Toll.html
index 9baf167..6c2e000 100644
--- a/frontend/gamma/tests/tests/Clipperz/PM/Toll.html
+++ b/frontend/gamma/tests/tests/Clipperz/PM/Toll.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <title>Clipperz.PM.Toll - test</title> 28 <title>Clipperz.PM.Toll - test</title>
29 29
30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script>
31 <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script>
32 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> 34 <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script>
36 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> 35 <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script>
37 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> 36 <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/PM/UI/Web/Controllers/MainController.html b/frontend/gamma/tests/tests/Clipperz/PM/UI/Web/Controllers/MainController.html
index 04f0e70..1eea01b 100644
--- a/frontend/gamma/tests/tests/Clipperz/PM/UI/Web/Controllers/MainController.html
+++ b/frontend/gamma/tests/tests/Clipperz/PM/UI/Web/Controllers/MainController.html
@@ -25,13 +25,12 @@ refer to http://www.clipperz.com.
25 25
26<html> 26<html>
27<head> 27<head>
28 <title>Clipperz.PM.UI.Web.MainController - test</title> 28 <title>Clipperz.PM.UI.Web.MainController - test</title>
29 29
30 <script type="text/javascript" src="../../../../../../../js/MochiKit/MochiKit.js"></script> 30 <script type="text/javascript" src="../../../../../../../js/MochiKit/MochiKit.js"></script>
31 <script type="text/javascript" src="../../../../../../../js/JSLog/jslog.js"></script>
32 <script type="text/javascript" src="../../../../../../SimpleTest/SimpleTest.js"></script> 31 <script type="text/javascript" src="../../../../../../SimpleTest/SimpleTest.js"></script>
33 <link rel="stylesheet" type="text/css" href="../../../../../../SimpleTest/test.css"> 32 <link rel="stylesheet" type="text/css" href="../../../../../../SimpleTest/test.css">
34 33
35 <script type='text/javascript' src='../../../../../../../js/Clipperz/YUI/Utils.js'></script> 34 <script type='text/javascript' src='../../../../../../../js/Clipperz/YUI/Utils.js'></script>
36 <script type='text/javascript' src='../../../../../../../js/Clipperz/Base.js'></script> 35 <script type='text/javascript' src='../../../../../../../js/Clipperz/Base.js'></script>
37 <script type='text/javascript' src='../../../../../../../js/Clipperz/ByteArray.js'></script> 36 <script type='text/javascript' src='../../../../../../../js/Clipperz/ByteArray.js'></script>
diff --git a/frontend/gamma/tests/tests/Clipperz/RoboFormExportProcessor.html b/frontend/gamma/tests/tests/Clipperz/RoboFormExportProcessor.html
index 87cde0f..b4500e3 100644
--- a/frontend/gamma/tests/tests/Clipperz/RoboFormExportProcessor.html
+++ b/frontend/gamma/tests/tests/Clipperz/RoboFormExportProcessor.html
@@ -23,13 +23,12 @@ refer to http://www.clipperz.com.
23 23
24--> 24-->
25 25
26<html> 26<html>
27<head> 27<head>
28 <script type="text/javascript" src="../../../js/MochiKit/MochiKit.js"></script> 28 <script type="text/javascript" src="../../../js/MochiKit/MochiKit.js"></script>
29 <script type="text/javascript" src="../../../js/JSLog/jslog.js"></script>
30 <script type="text/javascript" src="../../SimpleTest/SimpleTest.js"></script> 29 <script type="text/javascript" src="../../SimpleTest/SimpleTest.js"></script>
31 <link rel="stylesheet" type="text/css" href="../../SimpleTest/test.css"> 30 <link rel="stylesheet" type="text/css" href="../../SimpleTest/test.css">
32 31
33 <script type='text/javascript' src='../../../js/Clipperz/YUI/Utils.js'></script> 32 <script type='text/javascript' src='../../../js/Clipperz/YUI/Utils.js'></script>
34 <script type='text/javascript' src='../../../js/Clipperz/Base.js'></script> 33 <script type='text/javascript' src='../../../js/Clipperz/Base.js'></script>
35 <script type='text/javascript' src='../../../js/Clipperz/Async.js'></script> 34 <script type='text/javascript' src='../../../js/Clipperz/Async.js'></script>
diff --git a/frontend/gamma/tests/tests/Components/CardDialogNew/index.html b/frontend/gamma/tests/tests/Components/CardDialogNew/index.html
index 2d502b4..64f9e4d 100644
--- a/frontend/gamma/tests/tests/Components/CardDialogNew/index.html
+++ b/frontend/gamma/tests/tests/Components/CardDialogNew/index.html
@@ -98,15 +98,13 @@ refer to http://www.clipperz.com.
98</script> 98</script>
99 99
100<!--[if IE]><script> 100<!--[if IE]><script>
101Clipperz_IEisBroken = true; 101Clipperz_IEisBroken = true;
102</script><![endif]--> 102</script><![endif]-->
103 103
104 <link rel="stylesheet" type="text/css" href="../../../../css/clipperz/clipperz.css" /> 104 <link rel="stylesheet" type="text/css" href="../../../../css/web.css" />
105 <link rel="stylesheet" type="text/css" href="../../../../css/clipperz/compact.css" />
106 <link rel="stylesheet" type="text/css" href="../../../../css/clipperz/ytheme-clipperz.css" />
107 105
108</head> 106</head>
109<body> 107<body>
110 108
111<div id="tableWrapper"></div> 109<div id="tableWrapper"></div>
112 110
diff --git a/frontend/gamma/tests/tests/Components/Tooltips/index.html b/frontend/gamma/tests/tests/Components/Tooltips/index.html
index 02c6c34..3772227 100644
--- a/frontend/gamma/tests/tests/Components/Tooltips/index.html
+++ b/frontend/gamma/tests/tests/Components/Tooltips/index.html
@@ -96,15 +96,13 @@ refer to http://www.clipperz.com.
96</script> 96</script>
97 97
98<!--[if IE]><script> 98<!--[if IE]><script>
99Clipperz_IEisBroken = true; 99Clipperz_IEisBroken = true;
100</script><![endif]--> 100</script><![endif]-->
101 101
102 <link rel="stylesheet" type="text/css" href="../../../../css/clipperz/clipperz.css" /> 102 <link rel="stylesheet" type="text/css" href="../../../../css/web.css" />
103 <link rel="stylesheet" type="text/css" href="../../../../css/clipperz/compact.css" />
104 <link rel="stylesheet" type="text/css" href="../../../../css/clipperz/ytheme-clipperz.css" />
105 103
106<style> 104<style>
107 105
108div.leftColumn { 106div.leftColumn {
109 float:left; 107 float:left;
110} 108}